Apabila membuat std:: objek unique_ptr, adalah disyorkan untuk menggunakan std::make_unique dan bukannya operator baharu. Berikut ialah kelebihan utama menggunakan std::make_unique:
std::make_unique memudahkan sintaks permulaan, memerlukan jenis objek untuk disebut sekali sahaja. Ini menjadikan kod lebih ringkas dan kurang terdedah kepada kesilapan menaip.
std::make_unique merangkum proses peruntukan dan permulaan, menjadikannya lebih mudah dan terdedah kepada kesilapan. Ia menguruskan peruntukan memori dan penugasan kepada std::unique_ptr dalam satu langkah.
std::make_unique ialah selamat-kecuali, bermakna ia boleh mengendalikan pengecualian yang mungkin berlaku semasa peruntukan objek. Jika pengecualian dilemparkan semasa peruntukan, std::make_unique memastikan bahawa memori yang diperuntukkan dibersihkan dengan betul, mengelakkan kebocoran memori.
Menggunakan std::make_unique membantu mengelakkan isu pesanan penilaian yang tidak ditentukan. Susunan penilaian ekspresi yang melibatkan new dan unique_ptr boleh menimbulkan masalah, yang berpotensi membawa kepada kebocoran memori. std::make_unique memastikan bahawa objek diperuntukkan dengan betul dan diperuntukkan kepada unique_ptr sebelum sebarang operasi lain dilakukan.
Atas ialah kandungan terperinci Mengapa std::make_unique Diutamakan Berbanding Operator Baharu untuk Mencipta Objek std::unique_ptr?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!