A ciklusalapú tartomány használata a C++ nyelven

A Ciklusalapu Tartomany Hasznalata A C Nyelven



A C++ programozási nyelv tartomány alapú a ciklushoz egy viszonylag új szolgáltatás, amelyet először a C++11-ben vezettek be. Tartomány alapú hurkok esetén hurkot hajt végre a tartományon keresztül. Bármilyen iterátorral rendelkező konténerrel dolgoznak, beleértve a tömböket, vektorokat, térképeket, halmazokat és még a felhasználó által definiált típusokat is, amelyek végrehajtják a szükséges műveleteket.

A hurok tartományalapú szintaxisa

A tartomány alapú a ciklushoz nagyon egyszerű szintaxisa van. A ciklusváltozóból, a tárolóból vagy tartományból, amelyen keresztül át kell ismételni, és egy kettőspontból áll.







számára ( tartomány_deklaráció : tartomány_kifejezés ) hurokutasítás



range_declaration: A range-declaration egy olyan változó deklarációja, amelynek típusa megegyezik a tartomány-összetevő kifejezés elemeivel. A komponensek típusának automatikus meghatározásához a tartomány_kifejezés , az automatikus kulcsszót gyakran használják.



range_expression: Minden kifejezés, amely egy elemlistát reprezentál, a tartomány_kifejezés .





ciklus utasítás: A for ciklus törzse egy vagy több utasításból áll, amelyeket a range_expression végéig meg kell ismételni.

A hurok tartomány alapú végrehajtásának módszerei

Három módszer használható tartomány alapú a ciklushoz .



1. módszer: Tömbök használata

Tartomány alapú hurokhoz futtatható ilyen tömbök használatával.

#include
névtér használata std;

int fő ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
számára ( int n : numArray ) {
cout << n << ' ' ;
}
Visszatérés 0 ;
}

A fenti kódban a numArray nevű egész szám tömböt inicializálták. Ezután a numArray elemeit a segítségével nyomtattuk ki tartomány alapú a ciklushoz .

Kimenet

2. módszer: Vektorok használata

Tartomány alapú hurokhoz ilyen vektorokkal futtatható.

#include
#include
névtér használata std;
int fő ( )
{
int x;
vektor < int > in = { 1 , 2 , 3 , 4 , 5 } ;
számára ( int x : v )
{
cout << x << ' ' ;
}
Visszatérés 0 ;
}

A fenti kódban egy vektor ún ban ben inicializálva lett. Itt a v vektor elemeit a segítségével nyomtattuk ki tartomány alapú a ciklushoz.

Kimenet

3. módszer: Gyűjtemény deklarálása hurkon belül

Tartomány alapú hurokhoz cikluson belül is deklarálható. Hasonlóan működik, mint egy tényleges tömb vagy vektor.

#include

névtér használata std;
int fő ( ) {
számára ( int n: { 5 , 10 , tizenöt , húsz , 25 } ) {
cout << n << ' ' ;
}
Visszatérés 0 ;
}

A fenti kódban a gyűjteményt magában a ciklusban deklarálják, majd kinyomtatják.

Kimenet

A hurok alapú tartomány előnyei és hátrányai

Tartomány alapú hurokhoz több előnye van, mint a hagyományosnak számára hurkok többféle módon történnek, különösen konténerekkel végzett munka során. Mivel a ciklusváltozó a cikluson belül van definiálva, és a tartomány kifejezetten meg van adva, ez sokkal rövidebbé és könnyebben érthetővé teszi a kódot. Biztonságosabbak is, mivel nem kell aggódni az egyedi vagy más indexelési hibák miatt. Alkalmazkodóbbak, mivel bármilyen tartályt használhatnak, függetlenül annak típusától vagy méretétől. A tartomány alapú a ciklushoz számos előnnyel rendelkezik, amelyek közül az egyik az, hogy tisztábbá és könnyebben érthetővé teszi kódunkat.

Tartomány alapú hurkok esetén vannak azonban bizonyos korlátozások. Mivel a hurokváltozó az elem másolata vagy hivatkozása, nem pedig a tényleges elem, nem használható a tároló elemeinek megváltoztatására. Mivel a teljes tartomány folyamatosan iterálódik, nem hagyhatunk ki egyetlen elemet sem, vagy csak az adatok egy részét iterálhatjuk.

Következtetés

Tartomány alapú hurokhoz a C++ programozási nyelv erőteljes és sokoldalú funkciója. A hagyományos for loopokhoz képest nagyobb biztonságot és rugalmasságot kínálnak, valamint világos és olvasható megközelítést kínálnak a konténereken keresztüli iterációhoz és csökkentik a kódot. Tartomány alapú hurokhoz kötelező megtanulni a C++ programozóknak.