一个实现智能指针的例子《还不完善》
2017-01-05 20:31
351 查看
#ifndef COUNTED_PTR_HPP #define COUNTED_PTR_HPP templete <class T> class CountedPtr{ private: T * ptr; long * count; public: explicit CountedPtr (T * p = 0) :ptr(p) , count(new long(1)){ } CountedPtr (const CountedPtr<T> & p) throw() : ptr(p.ptr) , count(p.count){ ++*count; } ~CountedPtr() throw() { dispose(); } CountedPtr<T> & operator= (const CountedPtr<T>& p) throw (){ if (this != &p){ dispose(); ptr = p.ptr; count = p.count; ++*count; } return *this; } T & operator*() const throw(){ return *ptr; } T* operator->() const throw(){ return ptr; } private: void dispose(){ if (--*count ==0){ delete count; delete ptr; } } } #endif /*COUNTED_PTR_HPP*/
相关文章推荐
- 一个智能指针模板的实现及应用
- 实现一个简单的智能指针
- 实现一个简洁版的智能指针
- 一个简单的智能指针的实现
- 请简述智能指针原理,并实现一个简单的智能指针。
- 一个智能指针模板的实现及应用
- 自己动手实现一个C++智能指针
- 一个智能指针的实现
- 我想实现一个智能提示,谁有这方面的例子?
- 一个智能指针的简单实现
- 推荐一个百度股沟智能提示的实现例子
- 一个智能指针的实现(改进)
- 自己实现一个C++ 智能指针
- 智能指针一个简单例子
- 一个C++智能指针的实现
- 一个简单的智能指针实现
- 用 c 语言实现类的继承,并且可用父类指针操作子类对像的一个测试例子
- 一个简单的智能指针实现
- 智能指针原理,并实现一个简单的智能指针
- 智能指针原理,并实现一个简单的智能指针