本文首发于公众号CPP编程
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200112112554758.png)
为什么使用std::make_shared
std::shared_ptr是常用的智能指针,建立一个shared_ptr对象有两种方式:
std::shared_ptr<Widget> p1(new Widget);
std::shared_ptr<Widget> p2(std::make_shared<Widget>());
通常方法(2)使用make_shared是更受推荐的做法。原因是
减少重复代码
对于
std::shared_ptr<Widget> p2(std::make_shared<Widget>());