摘要: 众所周知,sprintf不能检查目标字符串的长度,可能造成众多安全问题,所以都会推荐使用snprintf. 自从snprintf代替了sprintf,相信大家对snprintf的使用都不会少,函数定义如下: 函数说明: 最多从源串中拷贝size-1个字符到目标串中,然后再在后面加一个0。所以如果目标 阅读全文
posted @ 2019-04-30 18:25 我寒流 阅读(19022) 评论(0) 推荐(2) 编辑
摘要: 1.总述 Qt的要在当前类对应的窗口上绘图一般需要重写paintEvent函数,但是Qt的事件过滤器默认是把父窗口下子控件的绘图事件给过滤了的,因此重写父窗口的paintEvent函数是无法在子控件上进行绘图的,下面举一个例子。 1 void MainWindow::myDraw(QLabel * 阅读全文
posted @ 2018-12-29 11:40 我寒流 阅读(7887) 评论(2) 推荐(1) 编辑
摘要: 1.案列 先上一段代码,这段代码本来是想从队列中依次取出队头元素,我期望得到的结果是1,2,3,4,然而最后得到的结果却是4,3,2,1。 后来在网上搜索了一番得到的结论是,cout的计算顺序是从右向左,cout的输出顺序是从左向右。这就解释了为什么最后得到的结果是4,3,2,1了,17行的代码从右 阅读全文
posted @ 2018-11-26 19:37 我寒流 阅读(1256) 评论(0) 推荐(1) 编辑
摘要: 1.头文件 #include<QFileDialog> 2.用处 这几个函数都是QFileDialog这个类中的静态函数,可以调用当前系统的文件对话框。具体来讲: getOpenFileName返回一个被用户选中的文件的路径,前提是这个文件是存在的。 getSaveFileName返回一个被用户选中 阅读全文
posted @ 2018-11-18 16:55 我寒流 阅读(13437) 评论(0) 推荐(1) 编辑
摘要: 1.定义 在GOF的《设计模式:可复用面向对象软件的基础》一书中对观察者模式是这样说的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 2.代码简单实现 阅读全文
posted @ 2018-11-15 19:02 我寒流 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 首先引用的本质是一个指针常量,即int &p=a 等价于 int * const p=&a。指针常量的意思是指针变量中保存的地址不能修改,也就是说不能改变指针的指向,既然引用的本质是一个指针常量,当然也不能改变引用的指向了。 下面代码11行进行c=b操作后,c的值变成了4,乍一看还以为是c改变了指向 阅读全文
posted @ 2018-11-15 18:45 我寒流 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 1.管理方式不同 2.生长方向不同 3.大小不同 4.能否产生碎片不同 5.分配方式不同 6.分配效率不同 1)管理方式:堆,是由程序员进行管理的,需要程序员手动申请和回收空间,如果不回收的话,会造成内存泄漏的问题;栈,是由编译器进行管理的,由编译器自动分配和回收空间,一般保存的是局部变量和函数参数 阅读全文
posted @ 2018-11-15 18:20 我寒流 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1.装饰模式 装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。 2.装饰模式的优点 装饰者模式动态的给一个对象添加一些额外的职责。就增加功能来说,此模式比生成子类更为灵活。 3.装饰模式的简单实现 让跑 阅读全文
posted @ 2018-11-14 16:59 我寒流 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1.抽象工厂模式与工厂模式 工厂模式中的工厂和产品都有自己的一个抽象基类,每个工厂各施其职,只能生产一种产品。而抽象工厂模式可以生产一个产品族,其原因是其抽象基类中包含多个纯虚函数的接口,而工厂模式的抽象基类只有一个纯虚函数的接口。 2.具体例子 阅读全文
posted @ 2018-11-12 21:18 我寒流 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1.单列模式的定义 保证一个类只有一个实例存在,同时提供能对该实例加以访问的静态方法。 2.为什么要使用单列模式 在整个程序空间使用全局变量,共享资源; 大规模系统中,为了性能的考虑,需要节省对象的创建时间等。 3.实现单列模式的步骤 a) 构造函数私有化 b) 提供一个公有的静态方法 c) 在类中 阅读全文
posted @ 2018-11-12 18:49 我寒流 阅读(343) 评论(3) 推荐(0) 编辑