Ne şu örnekle açıklanabilir anlamına atın:std :: make_shared değer başlatmayı gerçekleştiriyor mu (GCC ve clang katılmıyorum)?
auto p = std::make_shared<int>();
int
değişken varsayılan (böylece çöp değeri var) veya değer başlatıldı başlatıldı mı (böylece sıfır değerine sahip)? Ben GCC 5.2 ve clang 3.6 üzerinde eski değer sıfırlama yapıyor ve ikincisi varsayılan başlatma yapıyor test ettik. Bu konuda standart ne diyor merak ediyorum? Benim düşünceme göre, modern C++ bu durumda kesinlikle değer sıfırlamayı gerçekleştirmelidir.
_ "GCC 5.2 ve clang 3.6 üzerinde test ettim, eski değer sıfırlama işlemini yapıyor ve ikincisi varsayılan başlatma yapıyor."_ Ben clang için sonuç tarafından şaşırdım, nasıl test ettin? –
@JonathanWakely Ben cppref gömülü online derleyici üzerinde test etti. – Lingxi
Ama nasıl? Davranış doğrulamak için hangi kodu yazdınız? –