Forum: Diğer Konular RSS
Bellek İade Edildi mi Diye Denetlemek
İbrahim #1
Üye Eki 2015 tarihinden beri · 186 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Bellek İade Edildi mi Diye Denetlemek
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.
cos00kun #2
Üye Kas 2014 tarihinden beri · 262 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
AleykumSelam
Bunu çöp toplayıcı yapmıyormu ki neden iade ediyoruz ?
E=mc^2
cos00kun #3
Üye Kas 2014 tarihinden beri · 262 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
özür dilerim C++ koduymuş yeni gördüm cout komutundan  :blush:
E=mc^2
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4644 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yaptığın gibi nullptr gibi özel bir değer atamak dışında denetlemek olanaksız. Oradaki hata, nullptr atamasını delete'ten sonra yapman gerekiyor.

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2018-02-24, 10:05:48 (UTC -08:00)