Automaattinen C++:ssa

Automaattinen C Ssa



C++ tarjoaa 'auto'-avainsanan, joka osoittaa, että muuttujan tyyppi päätellään automaattisesti sen alustuksesta, kun se määritellään ensimmäisen kerran. Lisäksi menetelmät, joiden palautustyyppi on automaattinen, tutkivat palautustyyppilauseketaan suorituksen aikana. Voimme myös määritellä sen, koska sitä käytetään automaattisesti tunnistamaan arvon tietotyyppi. Kun käytämme tätä 'auto'-avainsanaa 'for'-silmukassa, meidän ei tarvitse lisätä tietotyyppiä jokaisen iteraattorin kanssa. 'for'-silmukan 'auto'-avainsana kehottaa kääntäjää määrittämään ilmoitetun muuttujan tyypin sen alustuslausekkeen avulla.

Esimerkki 1:

'iostream' on ensimmäinen otsikkotiedosto, jossa C++:n toiminnot ilmoitetaan. Sitten lisäämme tähän sisältyvän 'vektori'-otsikkotiedoston, jotta voimme työskennellä vektorin ja funktion kanssa vektoreiden käyttämiseksi. Sitten 'std' on nimiavaruus, jonka lisäämme tähän, joten meidän ei tarvitse laittaa tätä 'std' kaikkien funktioiden kanssa erikseen tähän koodiin. Sitten 'main()' kutsutaan tässä. Tämän alle luomme 'int' -tietotyypin vektorin nimellä 'myNewData' ja lisäämme siihen kokonaislukuarvoja.

Tämän jälkeen asetamme 'for' -silmukan ja käytämme tätä 'auto' avainsanaa sen sisällä. Nyt tämä iteraattori havaitsee tässä olevien arvojen tietotyypin. Saamme 'myNewData'-vektorin arvot ja tallennamme ne 'data'-muuttujaan ja näytämme ne myös tässä, kun lisäämme tämän 'datan' 'cout' -kenttään.







Koodi 1:



#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( ) {
vektori < int > myNewData { yksitoista , 22 , 33 , 44 , 55 , 66 } ;
varten ( auto tiedot : myNewData ) {
cout << tiedot << endl ;
}
}

Lähtö :
Olemme nähneet kaikki tämän vektorin arvot, jotka on painettu tähän. Tulostamme nämä arvot käyttämällä 'for'-silmukkaa ja sijoittamalla 'auto'-avainsanan sen sisään.







Esimerkki 2:

Lisäämme tähän 'bits/stdc++.h', koska se sisältää kaikki funktioilmoitukset. Sitten laitamme 'std'-nimiavaruuden tähän ja kutsumme sitten 'main()'. Tämän alapuolella alustamme 'sarjan' 'merkkijonoa' ja nimeämme sen nimellä 'myString'. Sitten seuraavalla rivillä lisäämme siihen merkkijonotiedot. Lisäämme tähän joukkoon hedelmien nimiä 'insert()'-menetelmällä.

Käytämme 'for' -silmukkaa tämän alla ja sijoitamme 'auto'-avainsanan sen sisään. Tämän jälkeen alustamme iteraattorin nimeltä 'my_it' avainsanalla 'auto' ja määritämme tähän 'myString' yhdessä 'begin()'-funktion kanssa.



Sitten asetamme ehdon, joka on 'my_it', joka ei ole yhtä suuri kuin 'myString.end()', ja lisäämme iteraattorin arvoa käyttämällä 'my_it++'. Tämän jälkeen asetamme '*my_it' -kenttään 'cout'. Nyt se tulostaa hedelmien nimet aakkosjärjestyksen mukaan, ja tietotyyppi tunnistetaan automaattisesti, kun sijoitimme 'auto'-avainsanan tähän.

Koodi 2:

#include
käyttämällä nimiavaruus std ;
int pää ( )
{
aseta < merkkijono > myString ;
myString. lisää ( { 'rypäleet' , 'Oranssi' , 'Banaani' , 'Päärynä' , 'Omena' } ) ;
varten ( auto my_it = myString. alkaa ( ) ; my_it ! = myString. loppu ( ) ; my_it ++ )
cout << * my_it << ' ' ;

palata 0 ;
}

Lähtö:
Täällä voimme huomata, että hedelmien nimet näytetään aakkosjärjestyksessä. Kaikki tiedot esitetään täällä, jotka lisäsimme merkkijonosarjaan, koska käytimme 'for' ja 'auto' edellisessä koodissa.

Esimerkki 3:

Koska 'bits/stdc++.h' sisältää jo kaikki funktiomääritykset, lisäämme sen tähän. Kun 'std'-nimiavaruus on lisätty, kutsumme 'main()' tästä sijainnista. 'Int':n 'joukkoa', jonka laadimme seuraavassa, kutsutaan nimellä 'myIntegers'. Sitten lisäämme kokonaislukutiedot seuraavalle riville. Käytämme 'insert()' -menetelmää lisätäksemme muutaman kokonaisluvun tähän luetteloon. 'Auto'-avainsana on nyt lisätty 'for'-silmukkaan, jota käytetään tämän alla.

Seuraavaksi käytämme 'auto'-avainsanaa alustamaan iteraattorin nimellä 'new_it' ja määritämme sille 'myIntegers'- ja 'begin()'-funktiot. Seuraavaksi asetamme ehdon, jonka mukaan 'my_it' ei saa olla yhtä suuri kuin 'myIntegers.end()' ja käytä 'new_it++' iteraattorin arvon kasvattamiseen. Seuraavaksi lisäämme '*new_it' tähän 'cout'-osioon. Se tulostaa kokonaisluvut nousevassa järjestyksessä. Kun 'auto'-avainsana lisätään, se tunnistaa automaattisesti tietotyypin.

Koodi 3:

#include
käyttämällä nimiavaruus std ;
int pää ( )
{
aseta < int > omat kokonaisluvut ;
omat kokonaisluvut. lisää ( { Neljä viisi , 31 , 87 , 14 , 97 , kaksikymmentäyksi , 55 } ) ;
varten ( auto new_it = omat kokonaisluvut. alkaa ( ) ; new_it ! = omat kokonaisluvut. loppu ( ) ; new_it ++ )
cout << * new_it << ' ' ;

palata 0 ;
}

Lähtö :
Kokonaisluvut näkyvät tässä nousevassa järjestyksessä, kuten seuraavasta näkyy. Koska käytimme termejä 'for' ja 'auto' edellisessä koodissa, kaikki kokonaislukujoukkoon asettamamme tiedot esitetään tässä.

Esimerkki 4:

'iostream'- ja 'vektori'-otsikkotiedostot ovat mukana, kun käsittelemme vektoreita täällä. Sitten lisätään 'std'-nimiavaruus ja kutsumme sitten 'main()'. Sitten alustamme 'int' -tietotyypin vektorin nimellä 'myVectorV1' ja lisäämme tähän vektoriin joitakin arvoja. Nyt asetamme 'for' -silmukan ja käytämme 'auto' -toimintoa tietotyypin tunnistamiseen. Pääsemme vektorin arvojen perusteella ja tulostamme ne sitten asettamalla 'valueOfVector' -kenttään 'cout'.

Tämän jälkeen sijoitamme toisen 'for' ja 'auto' sen sisään ja alustamme sen '&& valueOfVector : myVectorV1'. Täällä pääsemme viitteellä ja tulostamme sitten kaikki arvot laittamalla 'valueOfVector' kohtaan 'cout'. Nyt meidän ei tarvitse lisätä tietotyyppiä molemmille silmukoille, koska käytämme 'auto'-avainsanaa silmukan sisällä.

Koodi 4:

#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( ) {
vektori < int > myVektoriV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
varten ( auto valueOfVector : myVektoriV1 )
cout << valueOfVector << '' ;
cout << endl ;
varten ( auto && valueOfVector : myVektoriV1 )
cout << valueOfVector << '' ;
cout << endl ;
palata 0 ;
}

Lähtö:
Kaikki vektorin tiedot näytetään. Ensimmäisellä rivillä näkyvät numerot ovat niitä, joihin olemme päässeet arvojen perusteella, ja toisella rivillä näkyvät numerot ovat niitä, joita käytimme koodin viittauksella.

Esimerkki 5:

Kutsuttuamme 'main()'-menetelmää tässä koodissa alustamme kaksi taulukkoa, jotka ovat 'myFirstArray', jonka koko on '7', tietotyypillä 'int' ja 'mySecondArray', jonka koko '7' on 'double' tietotyyppi. Lisäämme arvot molempiin taulukoihin. Ensimmäiseen taulukkoon lisäämme 'kokonaisluvun' arvot. Toisessa taulukossa lisäämme 'kaksoisarvot'. Tämän jälkeen käytämme 'for' ja lisäämme 'auto' tähän silmukkaan.

Tässä käytämme 'myFirstArraylle' 'range base for' -silmukkaa. Sitten sijoitamme 'myVar' kohtaan 'cout'. Tämän alapuolelle asetamme silmukan uudelleen ja käytämme 'range base for' -silmukkaa. Tämä silmukka on tarkoitettu 'mySecondArraylle', ja sitten tulostamme myös kyseisen taulukon arvot.

Koodi 5:

#include
käyttämällä nimiavaruus std ;
int pää ( )
{
int myFirstArray [ 7 ] = { viisitoista , 25 , 35 , Neljä viisi , 55 , 65 , 75 } ;
kaksinkertainen mySecondArray [ 7 ] = { 2.64 , 6.45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
varten ( konst auto & myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << endl ;
varten ( konst auto & myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
palata 0 ;
}

Lähtö:
Kaikki molempien vektorien tiedot näytetään tässä tuloksessa.

Johtopäätös

'Autolle' -käsitettä tutkitaan perusteellisesti tässä artikkelissa. Selitimme, että 'auto' havaitsee tietotyypin mainitsematta sitä. Tutkimme useita esimerkkejä tässä artikkelissa ja annoimme myös koodin selityksen tänne. Selitimme perusteellisesti tämän 'auto'-konseptin toiminnan tässä artikkelissa.