当初始化一个shared_ptr成员变量时:
// .h
class Customer
{
public:
Customer();
private:
std::shared_ptr<OtherClass> something_;
}
// .cpp
Customer():
something_(new OtherClass())
{
}
对比。
Customer():
something_(std::make_shared<OtherClass>())
{
}
make_shared版本可以使用吗?我似乎总是看到第一种版本,哪种更好?