Инициализация общей _переменной-члена ptr, new vs make _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 _? Я всегда вижу первую версию, какая предпочтительнее?

6
задан ildjarn 23 April 2012 в 23:57
поделиться