【转】浅析auto_ptr(13)

时间:2025-07-14

智能指针,auto_prt的基本用法,及其示例

{

reset(__a.release());

return *this;

}

//当auto_ptr对象被销毁时,他无情的销毁了_M_ptr

~auto_ptr() { delete _M_ptr; }

//此处要注意防止_M_ptr为空!

element_type&

operator*() const throw()

{

_GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);

return *_M_ptr;

}

//同上

element_type*

operator->() const throw()

{

_GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);

return _M_ptr;

}

//返回_M_ptr,指针类型

element_type*

get() const throw() { return _M_ptr; }

//将对象对_M_ptr的控制拿掉,返回另一个对它的指向

element_type*

release() throw()

{

element_type* __tmp = _M_ptr;

_M_ptr = 0;//置0

return __tmp;

}

//如果__p和_M_ptr不一样的话,删除原_M_ptr内容,然后让其指向__p void

reset(element_type* __p = 0) throw()

{

if (__p != _M_ptr)

{

delete _M_ptr;

【转】浅析auto_ptr(13).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219