最简单的写法: 过去很长一段时间一直都这么写,简单粗暴有效。但是直接声明静态对象会使编译出的可执行文件增大,也有可能出现其他的一些问题,所以利用了Qt自带的智能指针QScopedPointer和线程锁QMutex,改成了需要时才动态初始化的模式: 既保证了线程安全又防止了内存泄漏,效率也没降低太多, ...
分类:
其他好文 时间:
2016-12-21 00:00:39
阅读次数:
954
多线程程序经常会遇到在某个线程A创建了一个对象,这个对象需要在线程B使用, 在没有shared_ptr时,因为线程A,B结束时间不确定,即在A或B线程先释放这个对象都有可能造成另一个线程崩溃, 所以为了省时间一般都是任由这个内存泄漏发生. 当然也可以经过复杂的设计,由一个监控线程来统一删除, 但这样 ...
分类:
编程语言 时间:
2016-12-16 19:45:58
阅读次数:
203
智能指针类模板[图]
scoped_ptr[图]
boostscoped_ptr的正确构造
boostshared_ptr[图]
boostshared_ptr构建.png[图]
boostshared_ptr可以多次引用指针
boostweekptr[图]
boostweek_ptr
boostintrusive侵入式指针
boostmake_shared省略显式的new
boostenable_shared_from_this
bo..
分类:
编程语言 时间:
2016-12-06 14:42:25
阅读次数:
304
文/Tamic
http://blog.csdn.net/sk719887916/article/details/53462268
回顾上一篇介绍了《ReactNative4Android源码分...
分类:
移动开发 时间:
2016-12-05 12:01:51
阅读次数:
337
unique_ptr是独占型的智能指针,它不允许其他的智能指针共享其内部的指针,不允许通过赋值将一个unique_ptr赋值给另一个unique_ptr,如下面错误用法: 但是unique_ptr允许通过函数返回给其他的unique_ptr,还可以通过std::move来转移到其他的unique_p ...
分类:
其他好文 时间:
2016-12-03 18:20:18
阅读次数:
143
动态创建内存的管理太麻烦,于是乎,这个世界变成11派人:
一派人勤勤恳恳按照教科书的说法做,时刻小心翼翼,苦逼连连;
一派人忘记教科书的教导,随便乱来,搞得代码处处bug,后期维护骂声连连;
最...
分类:
其他好文 时间:
2016-11-26 12:04:28
阅读次数:
221
1.智能指针的由来C++中,动态内存的管理是通过一对运算符来完成的,new用于申请内存空间,调用对象构造函数初始化对象并返回指向该对象的指针。delete接收一个动态对象的指针,调用对象的析构函数销毁...
分类:
编程语言 时间:
2016-11-19 21:20:23
阅读次数:
396
一、概述 前边已经写了5篇对QCustomPlot的讲解,看过上述的几篇文章后,基本就能做一些简单的使用了,但是如果想要做到高度的控制图表,那么坐标轴将是很重要的一部分,因为坐标轴就是图表的一个参考系,没有了参考系那么一切都是天方夜谭。关于QCustomPlot的坐标轴我还是会按照之前的套路,首先对 ...
分类:
其他好文 时间:
2016-11-14 09:39:38
阅读次数:
709
《EffectiveC++》读书笔记之三资源管理准备知识:所谓资源就是,一旦用了它,将来必须还给系统。最常用的资源是动态分配内存,其他常见的资源有文件描述器、互斥锁、图形界面的字形和笔刷、数据库连接以及网络sockets。auto_ptr是个“类指针对象”,就是所谓的智能指针,其析构..
分类:
编程语言 时间:
2016-11-04 02:19:21
阅读次数:
172