C ++ Hurokig terjed (példákkal)

Ebben az oktatóanyagban példák segítségével megismerhetjük a hurkok C ++ tartományát és bevált módszereit.

A C ++ 11 bevezette a távolsági forkört. Ezt a forhurkot kifejezetten olyan gyűjteményeknél használják, mint a tömbök és a vektorok .

Például,

 // initialize an int array int num(3) = (1, 2, 3); // use of ranged for loop for (int var : num) ( // code )

Itt a ranged forhurok iterálja a tömb számát az elejétől a végéig. A intvar változó az egyes iterációkban tárolja a tömb elem értékét.

Szintaxisa:

 for (rangeDeclaration : rangeExpression) ( // code )

A fenti példában

  • rangeDeclaration -int var
  • rangeExpression - szám
A hurok tartományának működése C ++ - ban

1. példa: Hurokba sorolható a tömb használatával

 #include using namespace std; int main() ( // initialize array int numArray() = (1, 2, 3, 4, 5); // use of ranged for loop to print array elements for (int n : numArray) ( cout << n << " "; ) return 0; )

Kimenet

 1 2 3 4 5

Ebben a példában deklaráltuk és inicializáltuk a intnumArray nevű tömböt. Itt a ranged forhurok segítségével nyomtattuk ki a numArray elemeit.

  • első iteráció - n a tömb első tagjának értékét veszi fel, ami1
  • második iteráció - n az értékét veszi 2, majd kinyomtatja és így tovább.

Megjegyzés: A tartomány tartománya automatikusan ismétli a tömböt az elejétől a végéig. Nem kell megadnunk az ismétlések számát a ciklusban.

2. példa: C ++ a hurokhoz vektor használatával tartozik

 #include #include using namespace std; int main() ( // declare and initialize vector vector num_vector = (1, 2, 3, 4, 5); // print vector elements for (int n : num_vector) ( cout << n << " "; ) return 0; )

Kimenet

 1 2 3 4 5

3. példa: A gyűjtemény deklarálása a hurokban

 #include using namespace std; int main() ( // define the collection in the loop itself for (int n : (1, 2, 3, 4, 5)) ( cout << n << " "; ) return 0; )

Kimenet

 1 2 3 4 5

Itt deklaráltuk a gyűjteményt magában a hurokban, azaz

 rangeExpression = (1, 2, 3, 4, 5)

Ez a távolsági forhurok használatának is érvényes módja , és ugyanúgy működik, mint amikor tényleges tömböt vagy vektort használunk.

A C ++ a Hurok legjobb gyakorlatok kategóriájába tartozik

A fenti példákban deklaráltunk egy változót a forciklusban, hogy a gyűjtemény minden elemét minden iterációban tároljuk.

 int num(3) = (1, 2, 3); // copy elements of num to var for (int var : num) ( // code )

Azonban jobb, ha a tartományt a ciklus alapján írjuk meg :

 // access memory location of elements of num for (int &var : num) ( // code )

Figyelje meg a &var. Előtti használatát . Itt,

  • int var : num- Másolja a num minden elemét a var változóba az egyes iterációkban. Ez nem jó a számítógép memóriájához.
  • int &var : num- Nem másolja a num egyes elemeit a var-ba. Ehelyett közvetlenül a num elemeiből érheti el a num elemeit. Ez hatékonyabb.

Megjegyzés: Az &operátor referencia operátor néven ismert. A C ++ mutatókban többet megtudunk róla.

A címmutatás C ++ nyelven történő működése a hurok tartományába esett

Megjegyzés: Ha nem a tömböt / vektort / gyűjteményt módosítjuk a cikluson belül, akkor jobb, ha a constkulcsszót a tartománydeklarációban használjuk .

 // collection is not modified in the loop for (const int &var : num) ( // code )

érdekes cikkek...