vector erişimi
- C++ kursu
- Başlangıç
- Ders 62/116
- 5 dk
[] operatörü ile vector elemanlarına erişmeyi öğrenirsin.
[] operatörü ile erişim
Vektör elemanlarına erişmenin hızlı yolu köşeli parantez operatörüdür: nums[0] ilk elemanı verir. at gibi sınırları denetlemez ama daha hızlıdır; özellikle döngü içinde güvenli dizinlerle kullanıldığında tercih edilir.
Dizinler sıfırdan başlar; n elemanlı bir vektörde geçerli dizinler 0 ile n-1 arasındadır. nums[n] erişimi tanımsız davranıştır. Elemanı hem okumak hem değiştirmek için [] kullanılır: nums[0] = 99; ilk elemanı değiştirir.
at ile [] farkı
at ve [] aynı işi yapar ama farklı güvenlik düzeylerinde. nums.at(i) sınırları denetler, geçersiz dizinde std::out_of_range fırlatır. nums[i] denetim yapmaz, geçersiz dizin tanımsız davranıştır.
Şu pratik işe yarar: dizin güvenliyse ve hız önemliyse []; dizin güvenli değilse ya da emin değilsen at. Döngülerde çoğunlukla [] kullanılır çünkü döngü değişkeni zaten sınır içinde tutulur.
Uygulama [] ile elemanları topla
std::vector<int> nums = {10, 20, 30, 40}; tanımla. [] operatörü ile tüm elemanları topla, sonuçu std::cout ile yazdır.
Başlangıç kodu
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {10, 20, 30, 40};
int sum = 0;
// [] ile tüm elemanları topla
return 0;
}Örnek çözüm
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {10, 20, 30, 40};
int sum = 0;
for (int i = 0; i < nums.size(); i++) {
sum += nums[i];
}
std::cout << sum << std::endl;
return 0;
}Beklenen çıktı
100
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 nums[0] = 99; ne yapar?
std::vector<int> nums = {10, 20, 30};
nums[0] = 99;- Hata fırlatır
- Vektörün boyutunu 99 yapar
- İlk elemanı 99 yapar Doğru cevap
- 99. elemana erişir
Açıklama: [] atama yapar, ilk eleman 99 olur.
2 İlk elemanı değiştir
nums[0] ____ 99;
nums[0] = 99;
Açıklama: nums[0] = 99; ilk elemanı 99 yapar.
3 Erişim biçimlerini eşle
| Kavram | Anlamı |
|---|---|
nums[0] |
İlk eleman |
nums[size-1] |
Son eleman |
nums.at(0) |
Denetimli ilk eleman |
nums[i] = 9 |
İ'inci elemanı değiştir |