模拟实现scoped_ptr

来源:互联网 发布:网络渠道销售授权书 编辑:程序博客网 时间:2024/05/01 01:56
template<typename T>class my_ScopedStr{public:    my_ScopedStr(T* ptr = NULL);    ~my_ScopedStr();    T& operator*();    T* operator->();    T* get();private:                my_ScopedStr(my_ScopedStr<T>& ptr);    my_ScopedStr& operator=(my_ScopedStr<T>& ptr);private:    T* _ptr;};template<typename T>my_ScopedStr<T>::my_ScopedStr(T* ptr=NULL):_ptr(ptr){}template<typename T>my_ScopedStr<T>::~my_ScopedStr(){    if (_ptr != NULL)    {        delete _ptr;    }}template<typename T>T& my_ScopedStr<T>::operator*(){    return *_ptr;}template<typename T>T* my_ScopedStr<T>::operator->(){    return _ptr;}template<typename T>T* my_ScopedStr<T>::get(){    return _ptr;}
0 0
原创粉丝点击