当初始化一个shared_ptr成员变量:初始化shared_ptr成员变量,新vs make_shared?
// .h
class Customer
{
public:
Customer();
private:
std::shared_ptr<OtherClass> something_;
}
// .cpp
Customer():
something_(new OtherClass())
{
}
与
Customer():
something_(std::make_shared<OtherClass>())
{
}
是对make_shared版本允许吗?我似乎总是看到第一个版本,这是首选?
香草萨特只是写上这个GOTW。查看[this](http://herbsutter.com/gotw/_103/)并查看[一个问题](http://lanzkron.wordpress.com/2012/04/22/make_shared-almost-a-silver -bullet /)Herb没有明确说明。 – 2012-04-24 00:21:04
@RSamuelKlatchko - 你在ansewer使用https://herbsutter.com/2013/05/29/gotw-89-solution-smart-pointers/ – 2017-06-29 07:44:59