При инициализации переменной-члена shared_ptr:
// .h
class Customer
{
public:
Customer();
private:
std::shared_ptr<OtherClass> something_;
}
// .cpp
Customer():
something_(new OtherClass())
{
}
vs.
Customer():
something_(std::make_shared<OtherClass>())
{
}
Разрешена ли версия make_shared? Я всегда вижу первую версию, какая предпочтительнее?