Inicjowanie zmiennej member_ptr, new vs make_shared?

Podczas inicjowania zmiennej członkowskiej shared_ptr:

<code>// .h
class Customer
{
public:
  Customer();

private:
  std::shared_ptr<OtherClass> something_;
}

// .cpp
Customer():
  something_(new OtherClass())
{
}
</code>

vs.

<code>Customer():
  something_(std::make_shared<OtherClass>())
{
}
</code>

Czy dozwolona jest wersja make_shared? Zawsze wydaje mi się, że widzę pierwszą wersję, która jest preferowana?

questionAnswers(2)

yourAnswerToTheQuestion