C++不像Java,C#语言,它没有垃圾回收机制,但是它提供了强大而灵活的管理机制,使得开发人员自己避免内存泄露。可以通过new 获得内存或创建对象,一定使用delete来释放,这样就避免内存泄露。同时也可以将分配和使用用类封装,从而保证没有内存泄露。
#include
using namespace std;
#include
#include
class simpl...
分类:
其他好文 时间:
2015-04-17 11:32:23
阅读次数:
150
shared_ptr:计数的智能指针它是一个包装了new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针 ,可以被自由地拷贝和赋值,在任意的地方共享它,当没有代码使用(引用计数为0)它时才删除被包装的动态分配的对象。shared_ptr也可以安全地放到标准容器中,并弥补了auto_ptr...
分类:
其他好文 时间:
2015-04-15 23:19:53
阅读次数:
161
STL智能指针使用方法auto_ptr pi(new int(1024));定义智能指针类(使用计数)实现代码:class RealPtr {
friend class AutoPtr;
int *ip;
size_t use;
RealPtr(int *p) : ip(p), use(1) {}
~RealPtr() { delete ip; }...
分类:
其他好文 时间:
2015-04-13 09:41:23
阅读次数:
194
看安卓内核,第一章就碰到智能指针了。
看了网上的一些文章,自己实践了一下。
自己的体会:
普通指针直接为某个具体类型分配空间,对该空间的管理直接由指针来操作。T* p=new T(t);
智能指针相当于对该空间进行封装。智能指针实际是一个类,shared_ptr sp(new T(t));
类里面包含一个成员,uptr(T* t,size_t use)。
uptr除了保存着普...
分类:
其他好文 时间:
2015-04-11 13:23:50
阅读次数:
133
1. 介绍本文介绍智能指针的使用。智能指针是c++ 中管理资源的一种方式,用智能指针管理资源,不必担心资源泄露,将c++ 程序员 从指针和内存管理中解脱出来,再者,这也是c++发展的趋势(这话不是我说的,见《Effective c++》和《c++实践编程》),应该认真学习一下。智能指针中,最有名的应...
分类:
其他好文 时间:
2015-04-09 21:45:22
阅读次数:
149
智能指针的实现思路也体现了C++基于对象的原则,对象应该为自己管理的资源负责,包括资源的分配与释放,而且最好将资源的释放与分配搞的自动化一点,典型的实现方法就是在构造函数里分配资源,在析构函数里释放资源,这样当其他程序员在使用这个对象时,该对象的资源问题几乎不用额外的操心,即优雅又方便
然后如此完美的东西,也有其不容忽视的地方,直接上代码:
// share_ptr.cpp :...
分类:
其他好文 时间:
2015-04-08 13:14:57
阅读次数:
174
#include #include#includeusing namespace std;//智能指针的使用//智能指针类class U_ptr{ friend class hashptr; int *ip;//在hashptr中实际的需要定义的指针成员 size_t use;//使用次数的计数 U...
分类:
其他好文 时间:
2015-04-06 17:12:42
阅读次数:
163
这篇文章建大的介绍了如何编写一个智能指针。介绍:什么是智能指针?答案想必大家都知道,智能指针的目的就是更好的管理好内存和动态分配的资源,智能指针是一个智能的指针,顾名思义,他可以帮助我们管理内存。不必担心内存泄露的问题。实际上,智能指针是一个行为类似于指针的类,通过这个类我们来管理动态内存的分配和销...
分类:
编程语言 时间:
2015-04-03 14:51:29
阅读次数:
244
问题是这样的,前面文章有介绍过怎样从RAW转dng,包括工程配置,配置库编译方法以及如何写dng,原来测试的时候由于图片很少,转换的时候没有注意到内存泄露问题,领导航拍弄了3000多张的raw图需要转成dng,这下问题来了,任务管理器的内存眼看着上升,直到直接卡死,因为dng的类指针采用的都是智能指针,所以以为自己申请的空间释放掉就可以了,但是AutoPtrimage(new
dng_simp...
分类:
其他好文 时间:
2015-04-03 11:14:08
阅读次数:
146
智能指针类引用计数智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象的指针指向同一对象。引用计数为0时,删除对象。
其基本使用规则是:
每次创建类的新对象时,初始化指针并将引用计数置为1。当对象作为另一对象的副本而创建时,复制构造函数复制指针并增加与之相应的引用计数的值...
分类:
编程语言 时间:
2015-03-29 22:17:24
阅读次数:
325