标签:声明 str tor delete 释放 mil 交换 容器 com
scoped_ptr的所有权更加严格,不允许转让,对其赋值和拷贝都是不合法行为,因而显得更轻巧和快捷。
scoped_ptr重载了operator*()和operator->()解引用操作符*和箭头操作符->,因此可以把scoped_ptr对象如同指针一样使用。如果scoped_ptr保存的空指针,那么这两个操作的行为未定义。
scoped_ptr不能在两个scoped_ptr之间、scoped_ptr与原始指针之间或空指针之间进行了相等或不相等测试。operator ==和operator !=都被声明为私有。
scoped_ptr明确地表明了代码原始者的意图:只能在定义的作用域内使用,不可转让。
boost::scoped_ptr有着更严格的使用限制——不能拷贝。这就意味着:boost::scoped_ptr指针是不能转换其所有权的。
成员函数 |
功能 |
operator*() |
以引用的形式访问所管理的对象的成员 |
operator->() |
以指针的形式访问所管理的对象的成员 |
reset() |
释放所管理的对象,管理另外一个对象 |
swap(scoped_ptr& b) |
交换两个boost::scoped_ptr管理的对象 |
标签:声明 str tor delete 释放 mil 交换 容器 com
原文地址:http://www.cnblogs.com/kex1n/p/7086428.html