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

auto_ptr的使用

时间:2014-07-22 22:47:14      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   re   c   

初始化:

1 #include<memory> //auto_ptr header
2 void f()
3 {
4   auto_ptr<classA> ptr(new classA);
5 }

 

拷贝:

1 //auto_ptr can‘t be initialized by = operator
2 auto_ptr<classA> ptr1(new classA); //OK
3 auto_ptr<classA> ptr2 = new classA; //NOK
4 ptr1 = auto_ptr<classA>(new int(42)); //OK
5 ptr1 = new int 42; //NOK

要点:

1. auto_ptr不可以指向array,因为auto_ptr用的是delete而不是delete []

2. auto_ptr不能作为容器的元素,因为不符合基本的拷贝后两个值要相等的要求,auto_ptr拷贝后,前者交出拥有权

3. const auto_ptr的指向不能有变化,但是其指向的值可以有变化。 p, q都是const auto_ptr, p = q不可以,但是*p = *q是可以的

auto_ptr的使用,布布扣,bubuko.com

auto_ptr的使用

标签:style   blog   color   使用   re   c   

原文地址:http://www.cnblogs.com/dracohan/p/3859737.html

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