码迷,mamicode.com
首页 > 其他好文 > 详细

只能指针源码

时间:2018-06-28 16:50:22      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:const   delete   test   auto_ptr   指针   private   get   class   TE   

template <class _Tp> class auto_ptr_test
{
private:
_Tp* _M_ptr
public:
typedef _Tp element_type;

   explicit auto_ptr_test(_Tp* __p = 0)  : _M_ptr(__p) {}
   auto_ptr_test(auto_ptr_test& __a) : _M_ptr(__a.release()) {}

   auto_ptr_test& operator=(auto_ptr_test& __a) 
   {
     if (&__a != this) 
       {
         delete _M_ptr;
         _M_ptr = __a.release();
     }
     return *this;
 }

   _Tp& operator*() const 
   {
     return *_M_ptr;
 }

    _Tp* operator->() const 
    {
      return _M_ptr;
  }

    _Tp* get() const 
   {
      return _M_ptr;
 }

   _Tp* release()  
  {
      _Tp* __tmp = _M_ptr;
      _M_ptr = 0;
      return __tmp;
}

~auto_ptr_test() { delete _M_ptr; }

};

只能指针源码

标签:const   delete   test   auto_ptr   指针   private   get   class   TE   

原文地址:http://blog.51cto.com/wenxuehui/2133761

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!