Szablon funkcji std::make_unique jest sztandarową metodą tworzenia obiektów typu std::unique_ptr. Niektórzy posuwają się nawet do kategorycznego stwierdzenia: „jeśli tworzysz std::unique_ptr za pomocą innego sposobu niż std::make_unique, to robisz coś źle”. Autor tego artykułu nie zgadza się z tak rygorystycznym podejściem i postara się przedstawić przypadki, w których uzasadnione jest zastosowanie innych metod tworzenia obiektów std::unique_ptr.