6
C ++ 17'de neden std :: make_unique kullanılıyor?
Anladığım kadarıyla, C ++ 14 tanıtıldı std::make_uniqueçünkü parametre değerlendirme sırasının belirtilmemesi nedeniyle bu güvenli değildi: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Açıklama: Eğer değerlendirme önce hafızayı ham işaretçi için ayırırsa, sonra çağırır g()ve yapımdan önce bir istisna atılırsa std::unique_ptr, hafıza sızdırılır.) Arama std::make_unique, arama sırasını kısıtlamanın bir yoluydu ve böylece …
98
c++
c++17
unique-ptr