foreach loop
Megjelenés
Főnév
foreach loop (tsz. foreach loops)
- (informatika) A foreach típusú ciklus C++ nyelven a range-based for loop néven ismert, és a C++11-es szabvány óta elérhető. Ez a ciklus megkönnyíti az iterálást tömbökön, vektorokon és egyéb tartományokon.
Szintaxis
for (elem_típus elem : tartomány) {
// ciklusmag
}
Vagy ha referencia szerint akarjuk kezelni az elemeket:
for (auto& elem : tartomány) {
// módosítható elem
}
Példák
1. Egyszerű tömb bejárása
#include <iostream>
int main() {
int szamok[] = {1, 2, 3, 4, 5};
for (int szam : szamok) {
std::cout << szam << " ";
}
return 0;
}
Kimenet:
1 2 3 4 5
2. Vektor bejárása
#include <iostream>
#include <vector>
int main() {
std::vector<std::string> nevek = {"Anna", "Béla", "Csaba"};
for (const auto& nev : nevek) {
std::cout << nev << "\n";
}
return 0;
}
Kimenet:
Anna Béla Csaba
3. Elemek módosítása referenciával
#include <iostream>
#include <vector>
int main() {
std::vector<int> szamok = {10, 20, 30};
for (auto& szam : szamok) {
szam += 5;
}
for (int szam : szamok) {
std::cout << szam << " ";
}
return 0;
}
Kimenet:
15 25 35
(Mivel auto&-t használtunk, a vektor elemeit ténylegesen módosítottuk.)
Összegzés
- A foreach ciklus kényelmesebb, mint a hagyományos
forvagywhile, mert nem kell indexeket kezelni. auto&használatával elkerülhető a felesleges másolás.- Csak olyan adatszerkezetekkel működik, amelyek iterálhatók (pl. tömbök,
std::vector,std::map, stb.).
- foreach loop - Szótár.net (en-hu)
- foreach loop - Sztaki (en-hu)
- foreach loop - Merriam–Webster
- foreach loop - Cambridge
- foreach loop - WordNet
- foreach loop - Яндекс (en-ru)
- foreach loop - Google (en-hu)
- foreach loop - Wikidata
- foreach loop - Wikipédia (angol)