當初始化一個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