您的位置:首页 > 其它

智能指针

2015-09-19 23:03 260 查看
智能指针是用来帮我们管理指针,维护其生命周期的类。

解决问题1:怎么释放内存?





解决问题2:什么使用释放内存?

引用计数:对一个指针所指向的内存,目前有多少个对象在使用它

当引用计数为0时,删除对象

多个职能指针对象共享同一个引用计数类

在进行赋值等操作时动态维护引用计数



引用计数类:



动态维护引用计数。引用计数的改变发生在如下时刻:

调用构造函数时:SmartPointer p (new Object());

赋值构造函数时:SmartPointer p(const SmartPointer &p);

赋值时:SmartPointer p1(new Object()); SmartPointer p2 = p1;



获取只能指针所包含的指针:

写GetPtr(),GetObject()



重载指针的操作符



相关参考见:C++中智能指针的设计和使用

C++库的智能指针的使用:C++ 智能指针详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息