Til Auto i C++

Til Auto I C



C++ giver nøgleordet 'auto', der angiver, at en variabels type automatisk udledes fra dens initialisering, når den først erklæres. Derudover vil de metoder, hvis returtype er auto, undersøge deres returtypeudtryk under kørsel. Vi kan også definere det, da det bruges til automatisk at detektere værdiens datatype. Når vi bruger dette 'auto' søgeord i 'for'-løkken, behøver vi ikke tilføje datatypen med hver iterator. Nøgleordet 'auto' i 'for'-løkken instruerer compileren til at bestemme en erklæret variabels type ved hjælp af dens initialiseringsudtryk.

Eksempel 1:

'iostream' er den første header-fil her, hvor funktionerne i C++ er erklæret. Derefter tilføjer vi 'vektor'-headerfilen, som er inkluderet her, så vi kan arbejde med vektoren og funktionen til at operere på vektorer. Så er 'std' det navneområde, som vi indsætter her, så vi behøver ikke at sætte denne 'std' med alle funktioner individuelt i denne kode. Derefter kaldes 'main()' her. Under dette opretter vi en vektor af 'int' datatype med navnet 'myNewData' og indsætter nogle heltalsværdier i den.

Herefter placerer vi 'for'-løkken og bruger dette 'auto'-søgeord inde i den. Nu vil denne iterator registrere datatypen for værdierne her. Vi får værdierne af 'myNewData' vektoren og gemmer dem i 'data' variablen og viser dem også her, når vi tilføjer disse 'data' i 'cout'.







Kode 1:



#include
#inkluder
ved brug af navneområde std ;
int vigtigste ( ) {
vektor < int > mineNye Data { elleve , 22 , 33 , 44 , 55 , 66 } ;
til ( auto data : mineNye Data ) {
cout << data << endl ;
}
}

Produktion :
Vi har set alle værdierne af denne vektor, som er trykt her. Vi udskriver disse værdier ved at bruge 'for'-løkken og placere nøgleordet 'auto' i den.







Eksempel 2:

Her tilføjer vi 'bits/stdc++.h', da den indeholder alle funktionserklæringer. Derefter sætter vi 'std'-navnerummet her og kalder derefter 'main()'. Herunder initialiserer vi et 'sæt' af 'streng' og navngiver det som 'myString'. Derefter, i den næste linje, indsætter vi strengdataene i den. Vi indsætter nogle frugtnavne i dette sæt ved at bruge 'insert()'-metoden.

Vi bruger 'for'-løkken under dette og placerer nøgleordet 'auto' inde i det. Efter dette initialiserer vi en iterator med navnet 'my_it' med nøgleordet 'auto' og tildeler 'myString' til dette sammen med funktionen 'begin()'.



Derefter placerer vi en betingelse, som er 'my_it' og ikke lig med 'myString.end()' og øger værdien af ​​iteratoren ved hjælp af 'my_it++'. Efter dette placerer vi '*my_it' i 'cout'. Nu udskriver den frugtnavnene i henhold til den alfabetiske rækkefølge, og datatypen registreres automatisk, da vi placerede nøgleordet 'auto' her.

Kode 2:

#include
ved brug af navneområde std ;
int vigtigste ( )
{
sæt < snor > myString ;
myString. indsætte ( { 'Druer' , 'Orange' , 'Banan' , 'Pære' , 'Æble' } ) ;
til ( auto mit_det = myString. begynde ( ) ; mit_det ! = myString. ende ( ) ; mit_det ++ )
cout << * mit_det << ' ' ;

Vend tilbage 0 ;
}

Produktion:
Her kan vi bemærke, at frugtnavnene vises i en alfabetisk rækkefølge. Alle data gengives her, som vi indsatte i strengsættet, fordi vi brugte 'for' og 'auto' i den forrige kode.

Eksempel 3:

Da 'bits/stdc++.h' allerede har alle funktionsdeklarationer, tilføjer vi det her. Efter at have tilføjet 'std'-navnerummet, kalder vi 'main()' fra denne placering. 'Sættet' af 'int', som vi etablerede i det følgende, kaldes 'myIntegers'. Derefter tilføjer vi heltalsdataene i linjen, der fulgte. Vi bruger metoden 'insert()' til at tilføje et par heltal til denne liste. Nøgleordet 'auto' er nu indsat i 'for'-løkken, der bruges under dette.

Dernæst bruger vi nøgleordet 'auto' til at initialisere en iterator med navnet 'new_it', og tildeler 'myIntegers' og 'begin()' funktionerne til den. Dernæst opsætter vi en betingelse, der siger, at 'my_it' ikke må være lig med 'myIntegers.end()' og bruger 'new_it++' til at øge iteratorens værdi. Dernæst indsætter vi '*new_it' i denne 'cout'-sektion. Den udskriver heltalene stigende. Når nøgleordet 'auto' indsættes, registrerer det automatisk datatypen.

Kode 3:

#include
ved brug af navneområde std ;
int vigtigste ( )
{
sæt < int > mineHeltal ;
mineHeltal. indsætte ( { Fire, fem , 31 , 87 , 14 , 97 , enogtyve , 55 } ) ;
til ( auto new_it = mineHeltal. begynde ( ) ; new_it ! = mineHeltal. ende ( ) ; new_it ++ )
cout << * new_it << ' ' ;

Vend tilbage 0 ;
}

Produktion :
Heltallene vises her i stigende rækkefølge som det ses i det følgende. Da vi brugte udtrykkene 'for' og 'auto' i den forrige kode, gengives alle de data, som vi placerede i heltalssættet her.

Eksempel 4:

'iostream' og 'vektor' header-filerne er inkluderet, da vi arbejder med vektorerne her. 'std'-navnerummet tilføjes derefter, og vi kalder derefter 'main()'. Derefter initialiserer vi en vektor af 'int' datatype med navnet 'myVectorV1' og tilføjer nogle værdier til denne vektor. Nu placerer vi 'for'-løkken og bruger 'auto' her til at detektere datatypen. Vi får adgang til vektorens værdier og udskriver dem derefter ved at placere 'valueOfVector' i 'cout'.

Efter dette placerer vi en anden 'for' og 'auto' inde i den og initialiserer den med '&& valueOfVector : myVectorV1'. Her får vi adgang til referencen og udskriver derefter alle værdierne ved at sætte 'valueOfVector' i 'cout'. Nu behøver vi ikke at indsætte datatypen for begge sløjfer, da vi bruger nøgleordet 'auto' inde i løkken.

Kode 4:

#include
#inkluder
ved brug af navneområde std ;
int vigtigste ( ) {
vektor < int > myVectorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
til ( auto valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
til ( auto && valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
Vend tilbage 0 ;
}

Produktion:
Alle vektorens data vises. De numre, der vises i den første linje, er dem, som vi fik adgang til ved hjælp af værdier, og de tal, der vises i den anden linje, er dem, som vi fik adgang til ved reference i koden.

Eksempel 5:

Efter at have kaldt 'main()'-metoden i denne kode, initialiserer vi to arrays, som er 'myFirstArray' af størrelsen '7' med datatypen 'int' og 'mySecondArray' med størrelsen '7' af 'double' datatype. Vi indsætter værdierne i begge arrays. I det første array indsætter vi 'heltals'-værdierne. I det andet array tilføjer vi de 'dobbelte' værdier. Efter dette bruger vi 'for' og indsætter 'auto' i denne løkke.

Her bruger vi en 'range base for'-løkke til 'myFirstArray'. Derefter placerer vi 'myVar' i 'cout'. Herunder placerer vi en løkke igen og bruger 'range base for' løkken. Denne løkke er til 'mySecondArray', og så udskriver vi også værdierne for det array.

Kode 5:

#include
ved brug af navneområde std ;
int vigtigste ( )
{
int myFirstArray [ 7 ] = { femten , 25 , 35 , Fire, fem , 55 , 65 , 75 } ;
dobbelt mySecondArray [ 7 ] = { 2,64 , 6,45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
til ( konst auto & myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << endl ;
til ( konst auto & myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
Vend tilbage 0 ;
}

Produktion:
Alle data for begge vektorer vises i dette resultat her.

Konklusion

'For auto'-konceptet studeres grundigt i denne artikel. Vi forklarede, at 'auto' registrerer datatypen uden at nævne det. Vi udforskede flere eksempler i denne artikel og gav også kodeforklaringen her. Vi forklarede dybt, hvordan dette 'til auto'-koncept fungerer i denne artikel.