std:: を作成するときunique_ptr オブジェクトを使用する場合は、new 演算子の代わりに std::make_unique を使用することをお勧めします。 std::make_unique を使用する主な利点は次のとおりです。
std::make_unique は初期化構文を簡素化し、オブジェクトの型を必要とします。言及されるのは 1 回だけです。これにより、コードがより簡潔になり、タイプミスが少なくなります。
std::make_unique は、割り当てと初期化のプロセスをカプセル化し、より便利になります。そして間違いが起こりやすい。メモリの割り当てと std::unique_ptr への割り当てを 1 つのステップで管理します。
std::make_unique は例外安全です。つまり、オブジェクトの割り当て中に発生する可能性のある例外を適切に処理できます。割り当て中に例外がスローされた場合、std::make_unique は割り当てられたメモリが正しくクリーンアップされることを保証し、メモリ リークを防ぎます。
std::make_unique を使用すると、評価順序が指定されていない問題を回避できます。 new および unique_ptr を含む式の評価順序には問題があり、メモリ リークが発生する可能性があります。 std::make_unique は、他の操作が実行される前に、オブジェクトが正しく割り当てられ、 unique_ptr に割り当てられることを保証します。
以上がstd::unique_ptr オブジェクトを作成する場合、新しい演算子よりも std::make_unique が優先されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。