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

智能指针shared_ptr的初始化

时间:2017-10-07 14:25:53      阅读:433      评论:0      收藏:0      [点我收藏+]

标签:匹配   头文件   tor   库函数   red   div   string   简单   ptr   

shared_ptr是智能指针,是模板,头文件是memory:

 

shared_ptr<string> p1

 

最安全的使用方法是调用make_shared标准库函数,此函数在动态内存中分配一个对象并初始化它,返回此对象的shared_ptr。头文件是memory:

 

shared_ptr<int> p2 = make_shared<int>(42);//传递的参数必须能用来初始化一个in


shared_ptr<string>p3 = make_shared<string>(10,9);//传递的参数必须与string的某个构造函数相匹配


shared_ptr<int>p4 = make_shared<int>();//如果不传递任何参数,对象就会进行值初始化(值初始化依赖于数据类型,内置类型例如int,初始化为1,类类型由类默认初始化

 

通常用auto,这种方式较为简单:

 

auto p5 = make_shared<vector<string>>();//p5指向一个动态分配的空vector<string>

 

智能指针与常规指针的重要区别是它负责自动释放所指向的对象。

 

智能指针shared_ptr的初始化

标签:匹配   头文件   tor   库函数   red   div   string   简单   ptr   

原文地址:http://www.cnblogs.com/mu-ye/p/7634156.html

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