智能指针
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++ 智能指针详解
解决问题1:怎么释放内存?
解决问题2:什么使用释放内存?
引用计数:对一个指针所指向的内存,目前有多少个对象在使用它
当引用计数为0时,删除对象
多个职能指针对象共享同一个引用计数类
在进行赋值等操作时动态维护引用计数
引用计数类:
动态维护引用计数。引用计数的改变发生在如下时刻:
调用构造函数时:SmartPointer p (new Object());
赋值构造函数时:SmartPointer p(const SmartPointer &p);
赋值时:SmartPointer p1(new Object()); SmartPointer p2 = p1;
获取只能指针所包含的指针:
写GetPtr(),GetObject()
重载指针的操作符
相关参考见:C++中智能指针的设计和使用
C++库的智能指针的使用:C++ 智能指针详解
相关文章推荐
- Servlet3.1应用生命周期事件 (转载)
- share_ptr的几个注意点
- C++中拷贝构造函数的应用详解
- 构造函数不能声明为虚函数的原因及分析
- 深入讲解C++中的构造函数
- C++类成员构造函数和析构函数顺序示例详细讲解
- c++基础语法:构造函数与析构函数
- JavaScript 构造函数 面相对象学习必备知识
- JavaScript面向对象设计二 构造函数模式
- Javascript面向对象编程(二) 构造函数的继承
- 成员初始化列表与构造函数体中的区别详细解析
- C#中私有构造函数的特点和用途实例解析
- C#中派生类调用基类构造函数用法分析
- C#静态构造函数用法实例分析
- javascript 静态对象和构造函数的使用和公私问题
- Javascript 使用function定义构造函数
- JavaScript中的普通函数与构造函数比较
- jQuery构造函数init参数分析续
- jquery 构造函数在表单提交过程中修改数据
- php中拷贝构造函数、赋值运算符重载