引用计数型指针的的简单实现
来源:互联网 发布:hany是什么牌子 知乎 编辑:程序博客网 时间:2024/04/18 09:43
template<typename T>class Smart_ptr{public:Smart_ptr(T*p=0):pointer(p),count(new size_t(p==0?0:1)){}Smart_ptr(const Smart_ptr<T> &rhs):pointer(rhs.pointer),count(rhs.count){++ *count;}~Smart_ptr(){decr_count();}Smart_ptr& operator=(const Smart_ptr<T> &rhs){// if(this !=&rhs)// {// ++*count;// decr_count();// pointer=rhs.pointer;// count=rhs.count;// }// return *this;Smart_ptr<T>(rhs).Swap(*this);//改进之后是异常安全的 return *this;}size_t Get_refcount()const{return *count;} void Swap(Smart_ptr<T>&rhs) { if(pointer==rhs.pointer) { --*count; } std::swap(rhs.pointer,pointer); std::swap(*rhs.count,*count); }private:T*pointer;size_t *count;//用地址保证指向同一个地址空间,数据的统一性void decr_count(){if(--count==0){delete pointer;delete count;}}};
0 0
- 引用计数型指针的的简单实现
- C++ 引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现
- C++引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现
- 带引用计数的智能指针实现
- 基于引用计数的智能指针实现
- 引用计数板的智能指针实现
- 引用计数型指针类的一个实现
- 非常经典的C++ 引用计数技术及智能指针的简单实现
- 引用计数型String类的简单实现
- 简单的计数智能指针实现
- [置顶]C++ 引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现及改进
- 一个简单的C++内存管理与引用计数指针
- jboss 4.2.2只能localhost访问 不能通过ip访问解决办法
- iOS开发系列课程(09) --- 滚动视图
- hadoop之yarn状态机模型
- Java中泛型的理解(三)
- yum 镜像
- 引用计数型指针的的简单实现
- 【坑爹】mktime中的 tm_isdst解决办法
- C/C++之数组与指针关系-全解全息
- cin不能输入空格
- Windows下使用C++获取目录及子目录下所有文件
- MSChart图表控件使用说明介绍
- 【bzoj3201】【花神的浇花集会】【切比雪夫距离】
- MyEclipse使用手册(详细版)
- python3爬虫之入门和正则表达式