Ana içeriğe geç
Modül 5 · Ders 1 ders 2Kurstaki 11/18~12 min
Modül dersleri (1/2)

Diziler ve Vektörler

C++'da, veri koleksiyonlarının yönetimi temel olarak iki araç aracılığıyla yapılır: eski stil diziler (C stili diziler) ve vektörler (std::vector). Statik ve dinamik bellek arasındaki farkı anlamak, verimli kod yazmanın temelidir.


1. Statik Diziler (C-stili Diziler)

Dizi, bitişik bellek konumlarında depolanan aynı türdeki öğelerin bir koleksiyonudur. Statik dizinin boyutu derleme zamanında bilinmelidir ve daha sonra değiştirilemez:

C++
int grades[5] = {18, 22, 25, 28, 30}; // Array of 5 integers

Temel Özellikler:

  • Sabit Boyut: Çalışma zamanında öğe ekleyemez veya kaldıramazsınız.
  • Yığın Tahsisi: Tahsis edilmesi ve serbest bırakılması çok hızlıdır.
  • Erişim: [] indeks operatörü aracılığıyla yapılır (örneğin, ilk öğe için grades[0]).

2. Dinamik Vektörler (std::vector)

C++ Standart Şablon Kitaplığı (STL), dinamik bir diziyi temsil eden std::vector sınıfını sağlar. Bunu kullanmak için <vector> başlığını eklemelisiniz:

C++
#include <vector>

std::vector<int> numbers; // Creates an empty vector of integers

Ortak İşlemler:

  • Sona Ekle: .push_back(value) yöntemi vektörün sonuna bir öğe ekler ve gerekirse belleği otomatik olarak yeniden tahsis eder.
  • Boyut: .size() yöntemi, vektörde mevcut olan öğelerin sayısını döndürür.
  • Güvenli Erişim: [] operatörüne ek olarak, dizinin sınırların dışında olması durumunda bir istisna oluşturan .at(index) yöntemini (ör. numbers.at(0)) kullanabilirsiniz.
C++
std::vector<int> scores = {90, 85};
scores.push_back(95); // scores now contains {90, 85, 95}
std::cout << scores.size(); // Prints 3

Kendin dene

Egzersiz#cpp.m5.l1.e1
Denemeler: 0Yükleniyor…

Sayılar adlı tam sayıların std::vektörünü bildirin. .Push_back() yöntemini kullanarak içine 10, 20 ve 30 değerlerini ekleyin, ardından Numbers.size() yöntemini kullanarak boyutunu yazdırın.

Düzenleyici yükleniyor…
İpucu göster

Vektörü 'std::vector<int> sayılar;' ile bildirin, üç sayıyı '.Push_back(value)' ile ekleyin ve 'std::cout << number.size();' ile yazdırın.

3 denemeden sonra çözüm mevcut

Egzersiz#cpp.m5.l1.e2
Denemeler: 0Yükleniyor…

Temel olarak 5 öğeden oluşan bir dereceler dizisi tanımlanır. Dizideki tüm elemanların toplamını hesaplamak için bir for döngüsü yazın, bunu sum değişkeninde saklayın ve std::cout kullanarak yazdırın.

Düzenleyici yükleniyor…
İpucu göster

Bir 'for (int i = 0; i < 5; ++i)' döngüsü kullanın ve döngü içindeki her öğeyi 'sum +=grades[i];' ile toplayın.

3 denemeden sonra çözüm mevcut

Quiz#cpp.m5.l1.q1
Hazır

C++'da bir std::vector öğesinin sonuna bir öğe eklemenin doğru yöntemi nedir?

C++
std::vector<int> numbers; // come aggiungere il valore 50?
Cevap seçenekleri