智能指针3---SharedPtr
来源:互联网 发布:mac如何强行关机 编辑:程序博客网 时间:2024/06/06 06:42
SharedPtr:
1.利用引用计数来解决拷贝构造和赋值运算符重载的问题。
#pragma oncetemplate<class T>class SharedPtr{public:SharedPtr():_ptr(NULL), _pCount(0){}SharedPtr(T* ptr):_ptr(ptr),_pCount(new int(1)){}~SharedPtr(){/*if (--_pCount==0){delete _ptr;delete _pCount;}*/_Release();}SharedPtr(const SharedPtr<T>& sp)//拷贝构造:_ptr(sp._ptr),_pCount(sp._pCount){++(*_pCount);}SharedPtr& operator=(const SharedPtr<T> sp){if (this != &sp){this->_Release();this->_ptr = sp._ptr;++(*_pCount);}return *this;}protected:void _Release(){if (--(*_pCount) == 0){delete _ptr;delete _pCount;}}protected:T* _ptr;int* _pCount;};void TestSharedPtr(){SharedPtr<int> sp1(new int(1));SharedPtr<int> sp2(sp1);}
1 0
- 智能指针3---SharedPtr
- 智能指针SharedPtr
- 智能指针 AutoPtr ScopedPtr SharedPtr
- Poco SharedPtr 智能指针处理数组方式
- 智能指针(模拟实现AutoPtr、ScopedPtr、SharedPtr)
- 智能指针——AutoPtr & ScopedPer & SharedPtr & WeakPtr
- 智能指针—AutoPtr,ScopedPtr,SharedPtr的模拟实现
- C++ SharedPtr 智能指针操作二维数组的细节异同
- 引用计数的智能指针——sharedptr的模拟实现
- SharedPtr
- 智能指针3
- [3]C++智能指针
- 指针(3)智能指针总览
- 智能指针
- 智能指针
- 智能指针
- 智能指针
- 智能指针
- android 闹钟,定点叫醒你
- Android 关于Logcat的日志过滤
- 传世
- Unity3D中Layers和LayerMask解析
- ORA-28000: the account is locked-的解决办法
- 智能指针3---SharedPtr
- 搭建linux 环境
- 学习日志————day1————此文件为倒序
- android 实现按两次返回键退出
- js事件
- Iwfu-Android在内部和外部存储器创建文件或子目录Demo
- 【数据结构】二叉搜索树(增、删、查)的递归与非递归实现
- XML和HTML有什么区别?
- 关于分布式事务杂谈