Ana içeriğe atla

Kayıtlar

new delete etiketine sahip yayınlar gösteriliyor

Stack ve Heap Bellek Yönetimi

  #include <iostream> using namespace std; //Stack ve Heap Bellek Yönetimi // stack Otomatik olarak temizlenir // Heap Delete kullanılmadığı sürece bellekte kalır int main()  { int x, y; // burdaki x ve y normal değişkenler gibi davranır ve satck gibi davranıp bellekten otomatik silinir int* p = new int(5); // p değişkeni geçici olarak yer tutar   // new ile bellek tahsisi yapıldığı zaman delete kullanılmalı delete p; // p değişkeni ram den temizlenir // Aşağıdaki örnekte new kullanılmadığı için delete kullanmaya gerek kalmaz heap ile ilişkili değildir // pointer yer tutucudur ama işi bittikten sonra stack gibi davranır ve otomatik temizlenir int w = 20; p = &w; cout << *p << endl; return 0; }

Pointerlar ile Dinamik Bellek Yönetimi

  #include <iostream> using namespace std; /* int main()  { //Pointer_New_Delete ile Dinamik bellek yönetimi // dinamik olarak yer tahsis edilmesi ve tahsis edilen yerin silinmesi // ram de ayrılmış olan alanın işi bittikten sonra ayrılmış olan yerin ram den silinmesi // Neyi ifade eder !! pointer ile işlenen veri silinmez ise ayrılmış olan yer ram de yer tutmaya devam eder // Sonraki gelen yeni verilere yer açılması için delete komutunu kullanmalıyız // Aksi taktirde yeni gelen veriler ramde yeni yerler tutacağından ramin şişmesine yol açar // Ram de biriken veriler ramin çökmesine sebep olmasın diye ayrılmış yerin boşaltılması delete ile gerçekleşir. int *ptr = new int; *ptr = 5; cout << *ptr << endl; delete ptr; // kod bloğunun görevi bittikten sonra kullanılmalı ptr = NULL; // *ptr değişkenimizin ayrılmış olan alanın artık boş olduğu anlamına gelir if (ptr != NULL) // ptr değişkenimizin içeriği boş değilse ekrana yazdır { // p...