foreach loop

Üdvözlöm, Ön a foreach loop szó jelentését keresi. A DICTIOUS-ban nem csak a foreach loop szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a foreach loop szót egyes és többes számban mondani. Minden, amit a foreach loop szóról tudni kell, itt található. A foreach loop szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. Aforeach loop és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

Főnév

foreach loop (tsz. foreach loops)

  1. (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 for vagy while, 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.).