vector döngüsü
- C++ kursu
- Başlangıç
- Ders 63/116
- 5 dk
Range-based for ile vector üzerinde gezinmeyi öğrenirsin.
Range-based for ile döngü
Range-based for döngüsü, bir vektörün tüm elemanlarını sırayla dolaşmanın kısa yoludur. Yazımı: for (int x : nums) { std::cout << x; }. Burada x her döngüde vektörün bir elemanını alır; dizinle uğraşmazsın.
Bu yapı, elemanları yalnızca okumak ya da yazdırmak istediğinde idealdir. Dizin gerekmiyorsa klasik for yerine range-based for tercih edilir; daha az hata yaparsın. Elemanı değiştirmek için referans gerekir; ona ileriki seviyede değineceğiz.
Döngüde değişiklik
Range-based for'da elemanı bir kopya alırsın; x üzerinde yaptığın değişiklik vektöre yansımaz. for (int x : nums) { x = 0; } yalnızca yerel kopyayı sıfırlar, nums'ı değiştirmez.
Vektörün kendisini değiştirmek için referans kullanmak gerekir; bunu referanslar konusunda göreceksin. Şimdilik range-based for'u yalnızca okuma ve yazdırma için kullan; elemanları değiştireceğin zaman klasik for ya da referans gerekecek.
Uygulama Range-based for ile yazdır
std::vector<int> nums = {2, 4, 6, 8}; tanımla. Range-based for ile tüm elemanları bitişik olarak tek satırda yazdır.
Başlangıç kodu
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {2, 4, 6, 8};
// range-based for ile yazdır
return 0;
}Örnek çözüm
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {2, 4, 6, 8};
for (int x : nums) {
std::cout << x;
}
std::cout << std::endl;
return 0;
}Beklenen çıktı
2468
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Döngü biçimlerini eşle
| Kavram | Anlamı |
|---|---|
for (int x : nums) |
Range-based for |
for (int i = 0; ...) |
Klasik for |
nums.size() |
Döngü sınırı |
std::cout << x |
Elemanı yazdır |
2 for (int x : nums) { std::cout << x; } ne yazdırır? (nums = {1, 2, 3})
std::vector<int> nums = {1, 2, 3};
for (int x : nums) { std::cout << x; }- 1 2 3
- 3 2 1
- 6
- 123 Doğru cevap
Açıklama: her eleman bitişik yazılır: 123.
3 Range-based for'u tamamla
for (int x ____ nums) { std::cout << x; }
for (int x : nums) { std::cout << x; }
Açıklama: : ayracı vektörü dolaşır.