C ++ pro smyčku (s příklady)

V tomto tutoriálu se pomocí příkladů dozvíme o rozsahu C ++ pro smyčky a jeho osvědčených postupech.

C ++ 11 představil forsmyčku na dálku . Tato forsmyčka se konkrétně používá u kolekcí, jako jsou pole a vektory .

Například,

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

Zde pohyblivá forsmyčka iteruje číslo pole od začátku do konce. intProměnná var ukládá hodnotu prvku pole v každém opakování.

Jeho syntax je,

 for (rangeDeclaration : rangeExpression) ( // code )

Ve výše uvedeném příkladu

  • rangeDeclaration -int var
  • rangeExpression - počet
Práce se smyčkou na dálku v C ++

Příklad 1: Na dálku pro smyčku pomocí pole

 #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; )

Výstup

 1 2 3 4 5

V tomto příkladu jsme deklarovali a inicializovali intpole s názvem numArray. Zde jsme použili forsmyčku na dálku k vytištění prvků numArray.

  • první iterace - n přebírá hodnotu prvního člena pole, což je1
  • druhá iterace - n převezme hodnotu 2a poté se vytiskne atd.

Poznámka: Smyčka ranged for automaticky iteruje pole od jeho začátku do konce. Nepotřebujeme specifikovat počet iterací ve smyčce.

Příklad 2: C ++ pro smyčku pomocí vektoru

 #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; )

Výstup

 1 2 3 4 5

Příklad 3: Deklarovat kolekci uvnitř smyčky

 #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; )

Výstup

 1 2 3 4 5

Zde jsme deklarovali kolekci v samotné smyčce, tj

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

Toto je také platný způsob použití forsmyčky na dálku a funguje to stejně, jako když používáme skutečné pole nebo vektor.

Doporučené postupy pro smyčky v C ++

Ve výše uvedených příkladech jsme deklarovali proměnnou ve forsmyčce pro uložení každého prvku kolekce v každé iteraci.

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

Je však lepší psát rozsahy založené na smyčce takto:

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

Všimněte si použití &před var. Tady,

  • int var : num- Zkopíruje každý prvek num do proměnné var v každé iteraci. To není dobré pro paměť počítače.
  • int &var : num- Nekopíruje každý prvek num do var. Místo toho přistupuje k prvkům num přímo ze samotného num. To je efektivnější.

Poznámka:& operátor je znám jako referenční operátor. Dozvíme se o tom více v ukazatelích C ++.

Práce s ukazováním adres v C ++ se pohybovala pro smyčku

Poznámka: Pokud neměníme pole / vektor / kolekci ve smyčce, je lepší použít constklíčové slovo v deklaraci rozsahu.

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

Zajímavé články...