Kako uporabljati zanko na podlagi obsega v C++

Kako Uporabljati Zanko Na Podlagi Obsega V C



Programski jezik C++ zanka for na podlagi obsega je relativno nova funkcija, ki je bila prvič predstavljena v C++11. Zanke for na podlagi obsega izvedite zanko v območju. Delujejo s katerim koli vsebnikom, ki ima iterator, vključno z nizi, vektorji, zemljevidi, nizi in celo uporabniško definiranimi tipi, ki izvajajo potrebne operacije.

Sintaksa zanke for na podlagi obsega

A zanka for na podlagi obsega ima zelo preprosto sintakso. Sestavljen je iz spremenljivke zanke, vsebnika ali obsega, skozi katerega se ponavlja, in dvopičja.







za ( deklaracija_območja : izraz_območja ) stavek zanke



deklaracija obsega: deklaracija obsega je deklaracija spremenljivke z istim tipom kot elementi izraza komponente obsega. Za samodejno določanje vrste komponent v a obseg_izraza , se pogosto uporablja ključna beseda auto.



obseg_izraza: Vsak izraz, ki predstavlja seznam elementov, je a obseg_izraza .





izjava zanke: Telo zanke for je sestavljeno iz enega ali več stavkov, ki jih je treba ponavljati do konca izraza obsega.

Metode za izvajanje zanke for na podlagi obsega

Obstajajo tri metode, ki jih je mogoče uporabiti za zanka for na podlagi obsega .



1. način: Uporaba nizov

Zanka for na podlagi obsega lahko izvajate z uporabo nizov, kot je ta.

#include
uporaba imenskega prostora std;

int main ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
za ( int n: numArray ) {
cout << n << ' ' ;
}
vrnitev 0 ;
}

V zgornji kodi je bila inicializirana matrika celih števil, imenovana numArray. Nato so bili elementi numArray natisnjeni z a zanka for na podlagi obsega .

Izhod

2. način: Uporaba vektorjev

Zanka for na podlagi obsega je mogoče zagnati z vektorji, kot je ta.

#include
#include
uporaba imenskega prostora std;
int main ( )
{
int x;
vektor < int > v = { 1 , 2 , 3 , 4 , 5 } ;
za ( int x : v )
{
cout << x << ' ' ;
}
vrnitev 0 ;
}

V zgornji kodi se imenuje vektor v je bil inicializiran. Tukaj so bili elementi vektorja v natisnjeni z a zanka for na podlagi obsega.

Izhod

3. način: Razglasite zbirko znotraj zanke

Zanka for na podlagi obsega lahko deklarirate tudi znotraj zanke. Deluje podobno kot dejanski niz ali vektor.

#include

uporaba imenskega prostora std;
int main ( ) {
za ( int n: { 5 , 10 , petnajst , dvajset , 25 } ) {
cout << n << ' ' ;
}
vrnitev 0 ;
}

V zgornji kodi je zbirka deklarirana znotraj same zanke in nato natisnjena.

Izhod

Prednosti in slabosti obsega na podlagi zanke

Zanka for na podlagi obsega ima več prednosti kot običajni za zanke na več načinov, zlasti pri delu s posodami. Ker je spremenljivka zanke definirana znotraj zanke in je obseg izrecno naveden, je koda veliko krajša in lažja za razumevanje. Prav tako so varnejši, saj vam ni treba skrbeti za napake, ki se pojavljajo ločeno od enega, ali druge napake pri indeksiranju. So bolj prilagodljivi, saj lahko uporabljajo katero koli posodo, ne glede na vrsto ali velikost. The zanka for na podlagi obsega ima več prednosti, ena od njih je, da naredi našo kodo čistejšo in enostavnejšo za razumevanje.

Zanke for na podlagi obsega imajo pa določene omejitve. Ker je spremenljivka zanke kopija ali sklic na element in ne na dejanski element, je ni mogoče uporabiti za spreminjanje elementov vsebnika. Ker se ves obseg nenehno ponavlja, ne moremo preskočiti nobenega elementa ali ponoviti samo dela podatkov.

Zaključek

Zanka for na podlagi obsega je močna in vsestranska funkcija programskega jezika C++. V primerjavi z običajnimi zankami for ponujajo izboljšano varnost in prilagodljivost skupaj z jasnim in čitljivim pristopom za ponavljanje vsebnikov in zmanjšanje kode. Zanka for na podlagi obsega se mora naučiti programerjev C++.