Kaip naudoti diapazoną, pagrįstą ciklu C++

Kaip Naudoti Diapazona Pagrista Ciklu C



C++ programavimo kalba diapazonu pagrįstas ciklas yra palyginti nauja funkcija, kuri pirmą kartą buvo pristatyta C++11. Diapazonas pagrįstas kilpoms vykdyti kilpą per diapazoną. Jie dirba su bet kokiu konteineriu, kuriame yra iteratorius, įskaitant masyvus, vektorius, žemėlapius, rinkinius ir net vartotojo apibrėžtus tipus, kurie įgyvendina būtinas operacijas.

Ciklo diapazono sintaksė

A diapazonu pagrįstas ciklas turi labai paprastą sintaksę. Jį sudaro ciklo kintamasis, konteineris arba diapazonas, per kurį reikia kartoti, ir dvitaškis.







dėl ( diapazono_deklaracija: diapazono_išraiška ) kilpos teiginys



range_declaration: diapazono deklaracija yra to paties tipo kintamojo, kaip ir diapazono komponento išraiškos elementai, deklaravimas. Norėdami automatiškai nustatyti komponentų tipą a diapazono_raiška , dažnai naudojamas automatinis raktinis žodis.



range_expression: Kiekviena išraiška, vaizduojanti elementų sąrašą, yra a diapazono_raiška .





ciklo teiginys: For ciklo turinį sudaro vienas ar daugiau teiginių, kurie turi būti kartojami iki diapazono_reiškimo pabaigos.

Metodai, kaip vykdyti diapazonu pagrįstą kilpą

Yra trys metodai, kuriuos galima naudoti diapazonu pagrįstas ciklas .



1 būdas: masyvų naudojimas

Diapazonas pagrįstas ciklas galima paleisti naudojant tokius masyvus.

#include
naudojant vardų erdvę std;

tarp pagrindinis ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
dėl ( int n : numArray ) {
cout << n << ' ' ;
}
grąžinti 0 ;
}

Aukščiau pateiktame kode buvo inicijuotas sveikųjų skaičių masyvas, vadinamas numArray. Tada numArray elementai buvo atspausdinti naudojant a diapazonu pagrįstas ciklas .

Išvestis

2 būdas: vektorių naudojimas

Diapazonas pagrįstas ciklas galima paleisti naudojant tokius vektorius.

#include
#include
naudojant vardų erdvę std;
tarp pagrindinis ( )
{
int x;
vektorius < tarpt > in = { 1 , 2 , 3 , 4 , 5 } ;
dėl ( int x : v )
{
cout << x << ' ' ;
}
grąžinti 0 ;
}

Aukščiau pateiktame kode vektorius vadinamas in buvo inicijuotas. Čia vektoriaus v elementai buvo atspausdinti naudojant a diapazonu pagrįstas ciklas.

Išvestis

3 būdas: deklaruokite surinkimą kilpos viduje

Diapazonas pagrįstas ciklas taip pat gali būti deklaruojamas ciklo viduje. Jis veikia panašiai kaip tikrasis masyvas arba vektorius.

#include

naudojant vardų erdvę std;
tarp pagrindinis ( ) {
dėl ( int n : { 5 , 10 , penkiolika , dvidešimt , 25 } ) {
cout << n << ' ' ;
}
grąžinti 0 ;
}

Aukščiau pateiktame kode kolekcija deklaruojama pačioje kilpoje ir tada atspausdinama.

Išvestis

Diapazono, pagrįsto kilpa, privalumai ir trūkumai

Diapazonas pagrįstas ciklas turi daugiau naudos nei įprastas dėl kilpos keliais būdais, ypač dirbant su konteineriais. Kadangi ciklo kintamasis yra apibrėžtas ciklo viduje, o diapazonas yra aiškiai nurodytas, kodas tampa daug trumpesnis ir lengviau suprantamas. Jie taip pat yra saugesni, nes nereikia jaudintis dėl pavienių klaidų ar kitų indeksavimo klaidų. Jie yra labiau pritaikomi, nes gali naudoti bet kokį konteinerį, nepaisant jo tipo ar dydžio. The diapazonu pagrįstas ciklas turi keletą privalumų, vienas iš kurių yra tas, kad mūsų kodas tampa aiškesnis ir lengviau suprantamas.

Diapazonas pagrįstas kilpoms tačiau turi tam tikrų apribojimų. Kadangi ciklo kintamasis yra elemento kopija arba nuoroda į jį, o ne tikrasis elementas, jo negalima naudoti sudėtinio rodinio elementams keisti. Kadangi visas diapazonas yra nuolat kartojamas, negalime praleisti jokių elementų arba kartoti tik dalies duomenų.

Išvada

Diapazonas pagrįstas ciklas yra galinga ir universali C++ programavimo kalbos savybė. Palyginti su įprastomis kilpoms, jie siūlo didesnį saugumą ir lankstumą, taip pat aiškų ir įskaitomą metodą, leidžiantį kartoti konteinerius ir sumažinti kodą. Diapazonas pagrįstas ciklas turi išmokti C++ programuotojams.