码迷,mamicode.com
首页 > 编程语言 > 详细

C++关于智能指针

时间:2017-09-02 01:07:14      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:new t   一个   指针   分配   报错   uniq   new   所有权   内存   

有四种: auto_ptr<class T> 

               unique_ptr<class T>

               shared_ptr<class T>

               weak_ptr<class T>

这里先讨论前三种:   第一种 :auto_ptr  已摒弃;原因在于:

                                             如 auto_ptr<class T> a(new T);

                                                 auto_ptr<class T> b;

                                                 b=a;         此时a已无所有权,b拥有所有权,再使用a会出错              

                                   第二种:unique_ptr<class T>  在遇到上述时编译器会报错

                                  第三种:shared_ptr<class T>  允许上述,通过引用计数可使多个指针指向同一个

在函数内使用new分配内存时,建议使用智能指针

C++关于智能指针

标签:new t   一个   指针   分配   报错   uniq   new   所有权   内存   

原文地址:http://www.cnblogs.com/infoo/p/7465531.html

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