C ++ vahemikus silmus (koos näidetega)

Selles õpetuses tutvume näidete abil silmuste C ++ vahemiku ja selle parimate tavadega.

C ++ 11 tutvustas kaugussilmu for. Seda forsilmust kasutatakse spetsiaalselt selliste kogumite jaoks nagu massiivid ja vektorid .

Näiteks,

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

Siin forkordab vahemiku silmus massiivi numbrit algusest lõpuni. intMuutuja var salvestab väärtust massiivi element iga iteratsiooni.

Selle süntaks on

 for (rangeDeclaration : rangeExpression) ( // code )

Ülaltoodud näites

  • vahemikDeklaratsioon -int var
  • vahemikExpression - arv
Silmuse vahemiku töötamine C ++ keeles

Näide 1: vahemikus massiivi abil silmus

 #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äljund

 1 2 3 4 5

Selles näites deklareerisime ja initsialiseerisime intmassiivi nimega numArray. Siin kasutasime fornumArray elementide printimiseks vahemikku.

  • esimene iteratsioon - n võtab massiivi esimese liikme väärtuse, mis on1
  • teine ​​iteratsioon - n võtab väärtuse 2ja seejärel prinditakse jne.

Märkus . Vahemiku vahemik kordab massiivi automaatselt selle algusest lõpuni. Me ei pea tsüklis korduste arvu määrama.

Näide 2: C ++ vahemikus vektoriga silmus

 #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äljund

 1 2 3 4 5

Näide 3: Kogumise deklareerimine aasas

 #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äljund

 1 2 3 4 5

Siin oleme deklareerinud kogu tsükli sees, st

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

See on ka sobiv viis vahemikusilmu kasutamiseks forja see toimib samamoodi nagu tegeliku massiivi või vektori kasutamisel.

C ++ määrati parimate tavade jaoks

Eeltoodud näidetes oleme deklareerinud muutuja fortsüklis, et salvestada kogu iteratsiooni kogu element.

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

Siiski on parem kirjutada vahemiku põhine silmus nii:

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

Pange tähele, et &enne var. Siin,

  • int var : num- Kopeerib num iga elemendi iga iteratsiooni muutuja var. See ei ole arvuti mälu jaoks hea.
  • int &var : num- ei kopeeri iga numbri elementi varisse. Selle asemel pääseb num-i elementidele juurde otse num-st. See on tõhusam.

Märkus . &Operaator on tuntud kui võrdlusoperaator. Lisateavet selle kohta saate C ++ osutitest.

Aadressi osutamine C ++ keeles ulatus silmuseni

Märkus. Kui me ei muuda massiivi / vektorit / kogu tsüklis, on parem kasutada constmärksõna vahemiku deklaratsioonis.

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

Huvitavad Artiklid...