文章目录
- 1 std::shared_ptr初始化的几种方式
- 1.1 构造函数初始化
- 1.2 std::make_shared 初始化(推荐方式)
- 1.3 reset初始化
1 std::shared_ptr初始化的几种方式
这里只总结一下std::shared_ptr初始化的几种方,不对std::shared_ptr的优缺点进行说明,初始化的方式比较多,平时码字的时候经常会搞迷糊,备忘。
1.1 构造函数初始化
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.2 std::make_shared 初始化(推荐方式)
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.3 reset初始化
std::shared_ptr<int> pointer = nullptr;
pointer.reset(new int(1));
大家如果有兴趣,可以访问我的个人站: