【转】浅析auto_ptr(4)
时间:2025-07-14
时间:2025-07-14
智能指针,auto_prt的基本用法,及其示例
3) 因为auto_ptr不具有值语义(value semantic), 所以auto_ptr不能被用在stl标准容器中。
所谓值语义,是指符合以下条件的类型(假设有类A):
A a1;
A a2(a1);
A a3;
a3 = a1;
那么
a2 == a1, a3 == a1
很明显,auto_ptr不符合上述条件,而我们知道stl标准容器要用到大量的拷贝赋值操作,并且假设其操作的类型必须符合以上条件。
3 提领操作(dereference)
提领操作有两个操作, 一个是返回其所拥有的对象的引用, 另一个是则实现了通过auto_ptr调用其所拥有的对象的成员。如:
struct A
{
void f();
}
auto_ptr<A> apa(new A);
(*apa).f();
上一篇:预分解窑操作的体会(二)