¿Inicializando la variable miembro shared_ptr, new vs make_shared?

Al inicializar una variable miembro shared_ptr:

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

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

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

contra

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

¿Está permitida la versión make_shared? Parece que siempre veo la primera versión, ¿cuál es la preferida?

Respuestas a la pregunta(2)

Su respuesta a la pregunta