shared_ptr<string> p1 = make_shared<string>(10, '9');  

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

shared_ptr<string> p3 = make_shared<string>();

C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr

​https://www.jianshu.com/p/03eea8262c11​

// make_shared example
#include <iostream>
#include <memory>

int main () {

std::shared_ptr<int> foo = std::make_shared<int> (10);
// same as:
std::shared_ptr<int> foo2 (new int(10));

auto bar = std::make_shared<int> (20);

auto baz = std::make_shared<std::pair<int,int>> (30,40);

std::cout << "*foo: " << *foo << '\n';
std::cout << "*bar: " << *bar << '\n';
std::cout << "*baz: " << baz->first << ' ' << baz->second << '\n';

return 0;
}

C++ std::make_shared是什么怎么用_C++