Base pointer mit make_unique erzeugen?
-
Die Frage mag trivial sein, aber ich stehe auf dem Schlauch. Ich habe eine Codezeile die einen unique Pointer erzeugt so in der art:
std unique_ptr<Base> ptr{new Derived{}};Ist es möglich, das new durch einen Aufruf von std::make_unique zu ersetzen und wenn ja wie?
-

std::unique_ptr<Base> ptr( std::make_unique<Derived>() );Sollte funktionieren.
-
Tut es auch. Irgendwie hatte ich da zu sehr um die Ecke gedacht.
-
Geht nicht auch
std::unique_ptr<Base> ptr = std::make_unique<Derive>(x, y, z);?
-
Skym0sh0 schrieb:
Geht nicht auch
std::unique_ptr<Base> ptr = std::make_unique<Derive>(x, y, z);?
Das dürfte von der Wirkung das gleiche sein wie die Schreibweise mit geschweiften Klammern.