Hvordan bruke rekkevidde basert på loop i C ++

Hvordan bruke rekkevidde basert på loop i C ++

C ++ programmeringsspråket rekkeviddebasert for loop er en relativt nylig funksjon som først ble introdusert i C ++ 11. Rekkeviddebaserte for løkker Utfør en sløyfe over rekkevidde. De jobber med enhver beholder som har en iterator, inkludert matriser, vektorer, kart, sett og til og med brukerdefinerte typer som implementerer de nødvendige operasjonene.

Syntaks av rekkeviddebasert for loop

EN rekkeviddebasert for loop har en veldig grei syntaks. Den består av loopvariabelen, beholderen eller rekkevidden for å iterere gjennom, og en tykktarm.

for (Range_Declaration: Range_Expression) Loop Statement

Range_Declaration: Rekkevidde avklaring er erklæringen om en variabel med samme type som avstandskomponentuttrykkens elementer. For automatisk å bestemme hvilken type komponenter i en Range_expression, Auto -nøkkelordet brukes ofte.

Range_expression: Hvert uttrykk som representerer en liste over elementer er en Range_expression.

LOOP -uttalelse: Kroppen til A for Loop består av en eller flere uttalelser som må gjentas til slutten av Range_Expression.

Metoder for å utføre rekkebaserte for loop

Det er tre metoder som kan brukes til rekkeviddebasert for loop.

Metode 1: Bruke matriser

Rekkeviddebasert for loop kan kjøres ved hjelp av matriser som dette.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int numArray [] = 6, 7, 8, 9, 10;
for (int n: numArray)
cout << n << " ";

retur 0;

I koden ovenfor ble en heltallsarray kalt Numarray initialisert. Da ble elementene i numarray skrevet ut ved hjelp av en rekkeviddebasert for loop.

Produksjon

Metode 2: Bruke vektorer

Rekkeviddebasert for loop kan kjøres ved hjelp av vektorer som dette.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

int x;
vektor v = 1, 2, 3, 4, 5;
for (int x: v)

cout << x << " ";

retur 0;

I koden ovenfor, en vektor som heter v ble initialisert. Her ble elementene i vektor v skrevet ut ved hjelp av en rekkeviddebasert for loop.

Produksjon

Metode 3: Erklær samling inne i loop

Rekkeviddebasert for loop kan også erklæres inne i løkken. Den fungerer på samme måte som en faktisk matrise eller vektor ville.

#inkludere
ved hjelp av navneområdet STD;
int main ()
for (int n: 5, 10, 15, 20, 25)
cout << n << " ";

retur 0;

I koden ovenfor er samlingen erklært inne i selve sløyfen og deretter skrevet ut.

Produksjon

Fordeler og ulemper med rekkevidde basert på loop

Rekkeviddebasert for loop har flere fordeler enn konvensjonelle til løkker på flere måter, spesielt når du jobber med containere. Ettersom loopvariabelen er definert inne i løkken og området er eksplisitt angitt, gjør det koden mye kortere og enklere å forstå. De er også tryggere, da det ikke er behov for å bekymre deg for feil eller andre indekseringsfeil. De er mer tilpasningsdyktige siden de kan bruke hvilken som helst beholder, uavhengig av dens type eller størrelse. De rekkeviddebasert for loop har flere fordeler, hvorav den ene er at den gjør koden vår renere og enklere å forstå.

Rekkeviddebaserte for løkker har visse begrensninger, skjønt. Siden loopvariabelen er en kopi av eller en referanse til elementet i stedet for det faktiske elementet, kan det ikke brukes til å endre beholderens elementer. Ettersom hele området stadig blir iterert gjennom, kan vi ikke hoppe over noen elementer eller iterere over bare en del av dataene.

Konklusjon

Rekkeviddebasert for loop er et kraftig og allsidig trekk ved programmeringsspråket C ++. Sammenlignet med konvensjonelle for løkker, tilbyr de forbedret sikkerhet og fleksibilitet sammen med en klar og leselig tilnærming til å iterere gjennom containere og redusere koden. Rekkeviddebasert for loop er et must å lære for C ++ programmerere.