6
Навіщо використовувати std :: make_unique в C ++ 17?
Наскільки я розумію, C ++ 14 запроваджено std::make_unique, оскільки в результаті невказаного порядку оцінки параметрів це було небезпечно: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Пояснення: якщо оцінка спочатку виділяє пам’ять для необробленого вказівника, тоді виклики g()та виняток видаються перед std::unique_ptrпобудовою, тоді пам’ять витікає.) Виклик std::make_uniqueбув способом обмежити порядок дзвінків, роблячи …
96
c++
c++17
unique-ptr