Почему unique_ptr <T> (T *) явный?

Следующие функции не компилируются:

std::unique_ptr<int> foo()
{
    int* answer = new int(42);
    return answer;
}

std::unique_ptr<int> bar()
{
    return new int(42);
}

Я нахожу это немного неудобным. Каково было обоснование для созданияstd::unique_ptr<T>(T*) явный?

Ответы на вопрос(2)

Ваш ответ на вопрос