För Auto i C++

For Auto I C



C++ tillhandahåller nyckelordet 'auto' som indikerar att en variabels typ kommer att härledas automatiskt från dess initialiserare när den först deklareras. Dessutom kommer metoderna vars returtyp är auto att undersöka deras returtypsuttryck vid körning. Vi kan också definiera det som det används för att automatiskt upptäcka värdets datatyp. När vi använder detta 'auto'-nyckelord i 'för'-loopen behöver vi inte lägga till datatypen med varje iterator. Nyckelordet 'auto' i 'for'-loopen instruerar kompilatorn att bestämma en deklarerad variabels typ med hjälp av dess initialiseringsuttryck.

Exempel 1:

'iostream' är den första rubrikfilen här där funktionerna i C++ deklareras. Sedan lägger vi till 'vektor'-huvudfilen som ingår här så att vi kan arbeta med vektorn och funktionen för att arbeta på vektorer. Sedan är 'std' namnutrymmet som vi infogar här, så vi behöver inte sätta denna 'std' med alla funktioner individuellt i den här koden. Sedan anropas 'main()' här. Under detta skapar vi en vektor av 'int' datatyp med namnet 'myNewData' och infogar några heltalsvärden i den.

Efter detta placerar vi 'för'-loopen och använder detta 'auto'-nyckelord inuti den. Nu kommer denna iterator att upptäcka datatypen för värdena här. Vi hämtar värdena för vektorn 'myNewData' och sparar dem i variabeln 'data' och visar dem även här när vi lägger till denna 'data' i 'cout'.







Kod 1:



#include
#inkludera
använder sig av namnutrymme std ;
int huvud ( ) {
vektor < int > myNewData { elva , 22 , 33 , 44 , 55 , 66 } ;
för ( bil data : myNewData ) {
cout << data << endl ;
}
}

Produktion :
Vi har sett alla värden för denna vektor som skrivs ut här. Vi skriver ut dessa värden genom att använda 'för'-loopen och placera nyckelordet 'auto' i den.







Exempel 2:

Här lägger vi till 'bits/stdc++.h' eftersom den innehåller alla funktionsdeklarationer. Sedan lägger vi namnutrymmet 'std' här och anropar sedan 'main()'. Under detta initierar vi en 'uppsättning' av 'sträng' och namnger den som 'myString'. Sedan, på nästa rad, infogar vi strängdata i den. Vi infogar några fruktnamn i denna uppsättning med metoden 'insert()'.

Vi använder 'för'-loopen under denna och placerar nyckelordet 'auto' i den. Efter detta initierar vi en iterator med namnet 'my_it' med nyckelordet 'auto' och tilldelar 'myString' till detta tillsammans med funktionen 'begin()'.



Sedan placerar vi ett villkor som är 'my_it' inte lika med 'myString.end()' och ökar värdet på iteratorn med 'my_it++'. Efter detta placerar vi '*my_it' i 'cout'. Nu skriver den ut fruktnamnen enligt den alfabetiska sekvensen, och datatypen detekteras automatiskt när vi placerade nyckelordet 'auto' här.

Kod 2:

#include
använder sig av namnutrymme std ;
int huvud ( )
{
uppsättning < sträng > myString ;
myString. Föra in ( { 'Druvor' , 'Orange' , 'Banan' , 'Päron' , 'Äpple' } ) ;
för ( bil min_det = myString. Börja ( ) ; min_det ! = myString. slutet ( ) ; min_det ++ )
cout << * min_det << ' ' ;

lämna tillbaka 0 ;
}

Produktion:
Här kan vi lägga märke till att fruktnamnen visas i en alfabetisk ordning. All data återges här som vi infogade i stränguppsättningen eftersom vi använde 'for' och 'auto' i föregående kod.

Exempel 3:

Eftersom 'bits/stdc++.h' redan har alla funktionsdeklarationer lägger vi till det här. Efter att ha lagt till 'std'-namnrymden anropar vi 'main()' från den här platsen. Den 'uppsättning' av 'int' som vi etablerade i det följande kallas 'myIntegers'. Sedan lägger vi till heltalsdata på raden som följde. Vi använder metoden 'insert()' för att lägga till några heltal till den här listan. Nyckelordet 'auto' infogas nu i 'för'-slingan som används under detta.

Därefter använder vi nyckelordet 'auto' för att initiera en iterator med namnet 'new_it', och tilldelar funktionerna 'myIntegers' och 'begin()' till den. Därefter ställer vi in ​​ett villkor som säger att 'my_it' inte får vara lika med 'myIntegers.end()' och använder 'new_it++' för att öka iteratorns värde. Därefter infogar vi '*new_it' i denna 'cout'-sektion. Den skriver ut heltalen stigande. När nyckelordet 'auto' infogas, upptäcker det automatiskt datatypen.

Kod 3:

#include
använder sig av namnutrymme std ;
int huvud ( )
{
uppsättning < int > mina heltal ;
mina heltal. Föra in ( { Fyra fem , 31 , 87 , 14 , 97 , tjugoett , 55 } ) ;
för ( bil new_it = mina heltal. Börja ( ) ; new_it ! = mina heltal. slutet ( ) ; new_it ++ )
cout << * new_it << ' ' ;

lämna tillbaka 0 ;
}

Produktion :
Heltalen visas här i stigande ordning enligt följande. Eftersom vi använde termerna 'för' och 'auto' i föregående kod, återges all data som vi placerade i heltalsuppsättningen här.

Exempel 4:

Headerfilerna 'iostream' och 'vektor' ingår när vi arbetar med vektorerna här. Namnutrymmet 'std' läggs sedan till och vi anropar sedan 'main()'. Sedan initierar vi en vektor av 'int' datatyp med namnet 'myVectorV1' och lägger till några värden till denna vektor. Nu placerar vi 'för'-loopen och använder 'auto' här för att upptäcka datatypen. Vi kommer åt genom värden för vektorn och skriver sedan ut dem genom att placera 'valueOfVector' i 'cout'.

Efter detta placerar vi en annan 'för' och 'auto' inuti den och initierar den med '&& valueOfVector : myVectorV1'. Här kommer vi åt genom referensen och skriver sedan ut alla värden genom att sätta 'valueOfVector' i 'cout'. Nu behöver vi inte infoga datatypen för båda slingorna eftersom vi använder nyckelordet 'auto' inuti slingan.

Kod 4:

#include
#inkludera
använder sig av namnutrymme std ;
int huvud ( ) {
vektor < int > myVectorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
för ( bil valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
för ( bil && valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
lämna tillbaka 0 ;
}

Produktion:
Alla data för vektorn visas. Siffrorna som visas på den första raden är de som vi fick tillgång till genom värden, och siffrorna som visas på den andra raden är de som vi nådde genom referens i koden.

Exempel 5:

Efter att ha anropat metoden 'main()' i den här koden initierar vi två arrayer som är 'myFirstArray' av storleken '7' med datatypen 'int' och 'mySecondArray' med storleken '7' av 'double' data typ. Vi infogar värdena i båda arrayerna. I den första matrisen infogar vi 'heltals'-värdena. I den andra matrisen lägger vi till de 'dubbla' värdena. Efter detta använder vi 'för' och sätter in 'auto' i denna loop.

Här använder vi en 'range base for'-loop för 'myFirstArray'. Sedan placerar vi 'myVar' i 'cout'. Under denna placerar vi en slinga igen och använder slingan 'intervallbas för'. Denna loop är för 'mySecondArray' och sedan skriver vi även ut värdena för den arrayen.

Kod 5:

#include
använder sig av namnutrymme std ;
int huvud ( )
{
int myFirstArray [ 7 ] = { femton , 25 , 35 , Fyra fem , 55 , 65 , 75 } ;
dubbel mySecondArray [ 7 ] = { 2,64 , 6,45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
för ( konst bil & myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << endl ;
för ( konst bil & myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
lämna tillbaka 0 ;
}

Produktion:
All data för båda vektorerna visas i detta resultat här.

Slutsats

'For auto'-konceptet studeras noggrant i den här artikeln. Vi förklarade att 'auto' upptäcker datatypen utan att nämna det. Vi utforskade flera exempel i den här artikeln och gav också kodförklaringen här. Vi förklarade djupt hur detta 'for auto'-koncept fungerar i den här artikeln.