New komutu ile ram üzerinden bellek ayırarak; kodların derlenmesinden sonra boyutları değişebilen dizi ve matris yapıları gibi boyut yani kaç elemanlı olacağını bildirmemiz gereken durumlarda oldukça kullanışlıdır.
Örneğin öğrenci notları üzerine bir masaüstü program yapıyoruz, programda öğrenci sayısı girilmeden bir ekle butonu ile öğrenci ekleme durumunda new komutu işimize yarayacaktır.
New komutu ile RAM üzerinde hafıza ayrılır, ramden ayrılan hafızaya ulaşabilmek için bir pointer üzerine bu hafızanın başlangıç adresi kaydedilir.
Örneğin ramde 5 elemanlı bir dizilik yer ayırır ve bu dizinin başlangıç adresini bir pointer ile tutarız.
Konsol üzerinde çalışacak bir uygulama ile new ve delete komutunu daha iyi anlayalım.
#include <iostream> using namespace std; int main() { int eleman_sayisi; //kullanıcıdan eleman sayısını almak için bir degişken oluşturduk cout<<"kac elamanli dizi olusturmak istersiniz: "<<endl; //ekrana kullanıcı için bir komut cümlesi yazdırdık cin>>eleman_sayisi; //kullanıcıdan eleman sayısını aldık int *pointer; //dizinin başlangıç adresini oluşturmak için bir pointer tanımladık pointer = new int[eleman_sayisi]; //dizimizi tanımlayarak, dizinin başlangıç adresini pointer'a atadık cout<<endl<<pointer; //pointer'a atanmış olan dizinin ilk adresini ekrana yazdırdık
delete[] pointer;
//delete komutu ile ramde alan işgal ettigimiz hafızayı serbest
//bıraktık return 0; }
Yorumlar
Yorum Gönder