Por que shared_ptr não permite atribuição direta

Então, ao usarshared_ptr<Type> você pode escrever:

shared_ptr<Type> var(new Type());

Gostaria de saber por que eles não permitiram um muito mais simples e melhor (imo):

shared_ptr<Type> var = new Type();

Em vez disso, para obter essa funcionalidade, você precisa usar.reset():

shared_ptr<Type> var;
var.reset(new Type());

Estou acostumado à classe OpenCV Ptr, que é um ponteiro inteligente que permite a atribuição direta e tudo funciona bem

questionAnswers(5)

yourAnswerToTheQuestion