foreach loop (tsz. foreach loops)
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
}
#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
#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
#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.)
for
vagy while
, mert nem kell indexeket kezelni.auto&
használatával elkerülhető a felesleges másolás.std::vector
, std::map
, stb.).