undefined

https://www.cnblogs.com/gala/archive/2011/10/19/2217507.html

https://juejin.cn/post/6844903993055920141

http://c.biancheng.net/view/7898.html

https://www.cnblogs.com/tenosdoit/p/3456704.html

https://www.huaweicloud.com/articles/e03c38dc5c70dee3a5901e8ff8072956.html

shared_ptr 初始化的几种方式

  1. 构造函数初始化
1
2
3
4
5
6
7
std::shared_ptr<int> pointer(new int(1));

std::shared_ptr<int> pointer1 = pointer;

std::shared_ptr<std::string> ss(new std::string("AAA"));

std::shared_ptr<std::string> = std::shared_ptr<std::string>(new std::string("AAA"));
  1. std::make_shared 初始化
1
2
3
4
5
6
std::shared_ptr<string> p3 = std::make_shared<string>();

std::shared_ptr<string> p2 = std::make_shared<string>("hello");

//auto关键字代替std::shared_ptr,p5指向一个动态分配的空vector<string>
auto p5 = make_shared<vector<string>>();
  1. reset 初始化
1
2
std::shared_ptr<int> pointer = nullptr;
pointer.reset(new int(1));