C++内存管理--简单的引用计数的实现
2014-04-16 11:22
351 查看
共享指针的内存对象,往往用引用计数来管理,多线程的环境下还得考虑锁同步
写了一个简单实现,上代码:
写了一个简单实现,上代码:
class Hasptr; class Use_ref { friend Hasptr; int *area; unsigned ref; Use_ref(int *p):area(p),ref(1){} ~Use_ref(){delete area;} }; class Hasptr { public: Hasptr(int *p,int i):ptr(new Use_ref(p)){} Hasptr(const Hasptr &other):ptr(other.ptr){++ptr->ref;} Hasptr &operator=(const Hasptr & other) { if(this!=&other) { ptr=other.ptr; ++ptr->ref; } return *this; } ~Hasptr() { if(--ptr->ref==0) delete ptr; } private: Use_ref *ptr; };
相关文章推荐
- C++中智能指针的工作原理和简单实现
- STL,迭代器的C++简单实现
- 八大排序简单小结及c++实现
- C++实现简单的文件I/O操作
- 简单LRU算法实现的Cache(C++)
- 简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系
- C++实现哈夫曼树简单创建与遍历的方法
- c++实现简单的线程池
- C++实现单例模式的简单例程
- 大数相加的C++简单实现
- 自己用纯C++实现简单的QT中信号与槽机制
- 【C++】迷宫的简单实现
- 【自己动手】实现简单的C++ smart pointer
- C++连接CTP接口实现简单量化交易
- C++ 多态的简单实现
- 初学者看过来:简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系。
- 【C++】智能指针auto_ptr简单的实现
- c++ 栈,队列,循环队列 简单实现
- binder 一个简单的c++服务的实现,与callback实现
- 叉树Octree原理及简单实现(C++版)