
C++
花开_花落
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其实我是一个程序员
展开
-
qt分割字符串
QString x = "Nine pineapples";QString y = x.mid(5, 4); // y == "pine"QString z = x.mid(5); // z == "pineapples"原创 2014-10-17 10:55:39 · 1147 阅读 · 0 评论 -
设计模式之命令行模式(Command)
优点: 1、容易设计出一个命令队列 2、可以设计出请求的撤销与重做 作用: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作#include <iostream>using namespace std;#include <vector>//用来声明执行操作的接口class Command{public: virt原创 2017-11-22 16:44:34 · 648 阅读 · 0 评论 -
设计模式之代理模式(Proxy)
1、远程代理 优点:逻辑与实现彻底解耦//接口class A{public: virtual ~A() = 0 {} virtual void request() = 0;};//业务执行者A1class A1 : public A{public: void request() { cout<<"A1 request"<<endl;原创 2017-11-16 15:13:34 · 187 阅读 · 0 评论 -
设计模式之观察者模式(Observer)
优点: 1、目标和观察者之间松耦合#include <iostream>#include <list>using namespace std;//观察者class Observer{public: virtual void update(int) = 0;};//目标class Subject{public: virtual void attach(Observe原创 2017-11-21 14:39:07 · 184 阅读 · 0 评论 -
设计模式之访问者模式(Visitor)
优点:易于添加那些目前尚未考虑到的方法(扩展功能) 缺点: 1)访问者角色不适合具体元素角色经常发生变化的情况。 2)访问者角色要执行与元素角色相关的操作,就必须让元素角色将自己内部属性暴露出来,这就破坏了元素角色的封装性。访问者和被访问的对象的耦合性很大。 3)元素与访问者之间能够传递的信息有限,这往往也会限制访问者模式的使用。(因为访问者不原创 2017-11-30 10:42:31 · 170 阅读 · 0 评论 -
osg获取纹理节点纹理方法
class TextureVisitor:public osg::NodeVisitor { public: TextureVisitor(); TextureVisitor(QString dirPath); void apply(osg::Node& node); void apply(osg::Geod原创 2017-11-28 18:09:56 · 3654 阅读 · 0 评论 -
设计模式之状态模式(State)
作用:一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为;#include <iostream>using namespace std;class War;class State{public: virtual void start(War *){} virtual void continued(War *){} virtual void end(原创 2017-11-28 18:06:56 · 176 阅读 · 0 评论 -
C++ 基础
1.当C++创建一个空类的时候,编译器会默认创建6个函数:构造函数,析构函数,赋值函数,拷贝函数,取址运算符,取址运算符constclass Empty{public:Empty{}~Empty(){}Empty(const Empty &){}Empty &operator=(const Empty &){}Empty *operator&(){}cons原创 2016-05-09 16:56:11 · 254 阅读 · 0 评论 -
C++学习曲线
C++缺点之一,是相对许多语言复杂,而且难学难精。许多人说学习C语言只需一本K&R《C程序设计语言》即可,但C++书籍却是多不胜数。我是从C进入C++,皆是靠阅读自学。在此分享一点学习心得。个人认为,学习C++可分为4个层次:第一层次,C++基础:挑选一本入门书籍,如《C++ Primer》、《C++大学教程》、或Stroustrup撰写的经典《C++程序设计语言》或他一年半前的新作《C+原创 2016-05-09 16:47:17 · 3416 阅读 · 1 评论 -
最全面的 C++ 资源、框架大全
http://www.codeceo.com/article/cpp-resource-framework.html转载 2016-05-09 15:50:42 · 383 阅读 · 0 评论 -
c++面试题
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之转载 2016-05-11 10:19:12 · 718 阅读 · 0 评论 -
日志文件
test.hextern void writelog(QString name, QString msg);test.cppvoid writelog(QString name, QString msg){ QString date = QString("FileDataProcessor") +" "+ QDateTime::currentDateTime().toStri原创 2015-12-21 15:13:01 · 495 阅读 · 0 评论 -
队列_单例模式
数据队列,一端接收数据,一端发送数据。用于不同线程的数据共享原创 2015-12-21 13:19:32 · 1203 阅读 · 0 评论 -
获取目录下所有文件(C/C++)
#include #include #include void get_file_name_list(string path , list &file_list){ int count = 0; struct dirent* ent = NULL; DIR *pDir; char dir[512]; struct stat statbuf;原创 2015-12-29 10:43:42 · 450 阅读 · 0 评论 -
Qt 5.3.2在周立功M3352开发板的移植记录
1.一般板子上都带有配套的交叉编译,没有的话,可以从网上下一个。交叉编译器的放在/opt/tools/arm-2011.03/bin2.到www.qt-project.org下载QT5.3.2的源代码qt-everywhere-opensource-src-5.3.2.tar.gz。3.解压到当前文件夹。tar xzvf qt-everywhere-opensour原创 2015-03-04 16:38:53 · 4686 阅读 · 0 评论 -
qt5实现串口通信
源代码mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include #include "mythread.h"namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{原创 2014-10-17 10:39:03 · 2553 阅读 · 0 评论 -
设计模式之策略模式(Strategy)
策略模式是指定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。使得算法可独立于使用它的客户而变化。也就是说这些算法所完成的功能一样,对外的接口一样,只是各自实现上存在差异。用策略模式来封装算法,效果比较好 “`include using namespace std;//抽象接口 class Algorithm { public: virtual void replace原创 2017-12-04 15:37:17 · 183 阅读 · 0 评论