6
Po co używać std :: make_unique w C ++ 17?
O ile rozumiem, wprowadzono C ++ 14 std::make_unique, ponieważ w wyniku nieokreślenia kolejności oceny parametrów było to niebezpieczne: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Wyjaśnienie: jeśli ocena najpierw przydzieli pamięć dla surowego wskaźnika, a następnie wywoła g()i wyjątek zostanie zgłoszony przed std::unique_ptrkonstrukcją, wtedy nastąpi wyciek pamięci). Dzwonienie std::make_uniquebyło sposobem na …
96
c++
c++17
unique-ptr