Selamün Aleyküm;
Şöyle basit bir kod düşünelim:
Button* button = new Button("button");
delete button;
Burada bellek iadesi yapıldı lakin bellek iadesi yapılıp yapılmadığını nasıl kontrol edebiliriz? Ben şöyle yapıyorum:
button = nullptr;
delete button;
if (button == nullptr)
cout << "Bellek iade edilmiş\n";
else
cout << "Bellek iade edilmemiş\n";
Bu şekilde doğru mu? Eğer nesneyi nullptr'a eşitlemezsem sadece delete button; ile koşul yanlış çalışıyor. Daha mantıklı bir yolu var mı? Ya da aslında null'a eşitlememizin bile gereği yok mu?
Teşekkürler.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]