Warum ist unique_ptr <T> (T *) explizit?
Die folgenden Funktionen werden nicht kompiliert:
std::unique_ptr<int> foo()
{
int* answer = new int(42);
return answer;
}
std::unique_ptr<int> bar()
{
return new int(42);
}
Ich finde das etwas unbequem. Was war der Grund dafür?std::unique_ptr<T>(T*)
explizit?