Когда я пишу
std::shared_ptr<MyType> x;
x инициализируется пустым общим указателем на nullptr. Но я бы хотел, чтобы он автоматически вызывал MyType по умолчанию (или какой-либо другой назначенный конструктор). Я знаю, что я мог просто написать:
std::shared_ptr<MyType> x = std::maked_shared<MyTYpe>();
но иногда люди забывают, и тогда вы сталкиваетесь с неприятностями, поэтому было бы неплохо обеспечить выполнение этого компилятором.