C++ programlamada dinamik olarak eleman eklemek ve çıkarmak için genellikle new
ve delete
anahtar kelimeleri veya daha modern C++ sürümlerinde (C++ 11 ve sonrası) std::vector
veya std::list
gibi standart kütüphane sınıfları kullanılır. İşte bazı temel bilgiler:
new
ve delete
Anahtar Kelimeleri ile Dinamik Diziler:
Dinamik olarak eleman eklemek veya çıkarmak için, new
anahtar kelimesini kullanarak yeni bir bellek alanı ayırabilir ve ardından delete
anahtar kelimesini kullanarak bu bellek alanını serbest bırakabilirsiniz.
int* dynamicArray = new int[5]; // 5 elemanlı bir dinamik dizi oluştur
Daha sonra, bu dizinin elemanlarına erişebilirsiniz:
dynamicArray[0] = 10; dynamicArray[1] = 20; // ve böyle devam eder...
Dinamik olarak ayrılan belleği serbest bırakmak için delete
kullanılır:
delete[] dynamicArray; // Belleği serbest bırak
std::vector
Kullanarak Dinamik Diziler:
std::vector
sınıfı, C++’ın standart kütüphanelerinden biridir ve dinamik dizileri yönetmek için daha güvenli ve kullanışlı bir yol sunar. Özellikle eleman ekleme veya çıkarma işlemleri için mükemmeldir:
#include <vector> std::vector<int> dynamicArray; // Boş bir vektör oluştur dynamicArray.push_back(10); // Vektöre eleman eklemek dynamicArray.push_back(20); int element = dynamicArray[0]; // Elemanlara erişmek dynamicArray.pop_back(); // Son elemanı çıkarmak
std::vector
otomatik olarak bellek yönetimini ele alır, bu nedenle bellek sızıntısı veya bellek hataları konusunda endişelenmenize gerek kalmaz.
std::list
Kullanarak Bağlı Liste:
Alternatif olarak, std::list
sınıfı da eleman ekleme ve çıkarma işlemleri için kullanışlı bir seçenektir. Bağlı listeler, eleman eklemek veya çıkarmak için daha hızlıdır, ancak elemanlara doğrudan erişim daha yavaş olabilir.
#include <list> std::list<int> dynamicList; // Boş bir bağlı liste oluştur dynamicList.push_back(10); // Listeye eleman eklemek dynamicList.push_back(20); int firstElement = dynamicList.front(); // İlk elemana erişmek dynamicList.pop_back(); // Son elemanı çıkarmak
Hangi yapının kullanılacağı, projenizin gereksinimlerine ve performans beklentilerinize bağlı olarak değişebilir. std::vector
, genellikle elemanlara hızlı erişim gerektiğinde tercih edilirken, std::list
, eleman ekleme ve çıkarmaların sık olduğu durumlar için daha uygundur. Dinamik bellek yönetimi gereksinimleri olduğunda ise new
ve delete
kullanılabilir.