Za samodejno v C++

Za Samodejno V C



C++ ponuja ključno besedo »samodejno«, ki nakazuje, da bo tip spremenljivke samodejno izpeljan iz njenega inicializatorja, ko je prvič deklarirana. Poleg tega bodo metode, katerih povratni tip je auto, med izvajanjem pregledale svoj izraz povratnega tipa. Lahko ga tudi definiramo, saj se uporablja za samodejno zaznavanje tipa podatkov vrednosti. Ko uporabimo to ključno besedo »samodejno« v zanki »za«, nam ni treba dodajati vrste podatkov z vsakim iteratorjem. Ključna beseda »samodejno« v zanki »za« naroči prevajalniku, naj določi tip deklarirane spremenljivke z uporabo njenega inicializacijskega izraza.

Primer 1:

»iostream« je prva datoteka glave tukaj, kjer so deklarirane funkcije C++. Nato dodamo datoteko glave 'vektor', ki je vključena tukaj, tako da lahko delamo z vektorjem in delujemo na vektorjih. Nato je »std« imenski prostor, ki ga vstavimo tukaj, zato nam tega »std« ni treba dati z vsemi funkcijami posebej v to kodo. Nato se tukaj prikliče »main()«. Pod tem ustvarimo vektor podatkovnega tipa »int« z imenom »myNewData« in vanj vstavimo nekaj celih vrednosti.

Po tem postavimo zanko »za« in znotraj nje uporabimo to ključno besedo »samodejno«. Zdaj bo ta iterator zaznal tip podatkov tukajšnjih vrednosti. Dobimo vrednosti vektorja “myNewData” in jih shranimo v spremenljivko “data” ter jih tudi prikažemo tukaj, ko dodamo te “podatke” v “cout”.







Koda 1:



#include
#include
uporabo imenski prostor std ;
int glavni ( ) {
vektor < int > myNewData { enajst , 22 , 33 , 44 , 55 , 66 } ;
za ( avto podatke : myNewData ) {
cout << podatke << konec ;
}
}

Izhod :
Videli smo vse vrednosti tega vektorja, ki so natisnjene tukaj. Te vrednosti natisnemo tako, da uporabimo zanko »za« in vanjo postavimo ključno besedo »samodejno«.







Primer 2:

Tukaj dodamo »bits/stdc++.h«, saj vsebuje vse deklaracije funkcij. Nato sem postavimo imenski prostor »std« in nato pokličemo »main()«. Pod tem inicializiramo 'nabor' 'niza' in ga poimenujemo 'myString'. Nato v naslednjo vrstico vanjo vstavimo podatke o nizu. V ta nabor vstavimo nekaj imen sadja z metodo 'insert()'.

Pod tem uporabimo zanko »za« in vanjo postavimo ključno besedo »samodejno«. Po tem inicializiramo iterator z imenom 'my_it' s ključno besedo 'auto' in temu dodelimo 'myString' skupaj s funkcijo 'begin()'.



Nato postavimo pogoj, ki je »my_it« in ni enak »myString.end()«, in povečamo vrednost iteratorja z uporabo »my_it++«. Po tem postavimo »*my_it« v »cout«. Zdaj natisne imena sadja v skladu z abecednim zaporedjem, vrsta podatkov pa se zazna samodejno, ko smo tukaj postavili ključno besedo »samodejno«.

Koda 2:

#include
uporabo imenski prostor std ;
int glavni ( )
{
set < vrvica > myString ;
myString. vstavi ( { 'Grozdje' , 'pomaranča' , 'banana' , 'Hruška' , 'jabolko' } ) ;
za ( avto my_it = myString. začeti ( ) ; my_it ! = myString. konec ( ) ; my_it ++ )
cout << * my_it << ' ' ;

vrnitev 0 ;
}

Izhod:
Tukaj lahko opazimo, da so imena sadja prikazana v abecednem zaporedju. Tukaj so upodobljeni vsi podatki, ki smo jih vstavili v nabor nizov, ker smo v prejšnji kodi uporabili »za« in »samodejno«.

Primer 3:

Ker ima »bits/stdc++.h« že vse deklaracije funkcij, ga dodamo tukaj. Ko dodamo imenski prostor »std«, s te lokacije pokličemo »main()«. 'Sklop' 'int', ki smo ga vzpostavili v nadaljevanju, se imenuje 'myIntegers'. Nato dodamo celoštevilske podatke v vrstico, ki sledi. Uporabimo metodo 'insert()', da na ta seznam dodamo nekaj celih števil. Ključna beseda »samodejno« je zdaj vstavljena v zanko »za«, ki se uporablja pod tem.

Nato uporabimo ključno besedo »auto« za inicializacijo iteratorja z imenom »new_it« in mu dodelimo funkciji »myIntegers« in »begin()«. Nato nastavimo pogoj, ki navaja, da »my_it« ne sme biti enak »myIntegers.end()« in uporabimo »new_it++« za povečanje vrednosti iteratorja. Nato v ta razdelek »cout« vstavimo »*new_it«. Natisne cela števila naraščajoče. Ko je vstavljena ključna beseda »samodejno«, samodejno zazna vrsto podatkov.

Koda 3:

#include
uporabo imenski prostor std ;
int glavni ( )
{
set < int > myIntegers ;
myIntegers. vstavi ( { Štiri, pet , 31 , 87 , 14 , 97 , enaindvajset , 55 } ) ;
za ( avto new_it = myIntegers. začeti ( ) ; new_it ! = myIntegers. konec ( ) ; new_it ++ )
cout << * new_it << ' ' ;

vrnitev 0 ;
}

Izhod :
Cela števila so tukaj prikazana v naraščajočem vrstnem redu, kot je prikazano v nadaljevanju. Ker smo v prejšnji kodi uporabili izraza »za« in »samodejno«, so tukaj upodobljeni vsi podatki, ki smo jih umestili v nabor celih števil.

Primer 4:

Datoteki glave »iostream« in »vector« sta vključeni, saj tukaj delamo z vektorji. Nato se doda imenski prostor »std« in nato pokličemo »main()«. Nato inicializiramo vektor podatkovnega tipa »int« z imenom »myVectorV1« in temu vektorju dodamo nekaj vrednosti. Zdaj postavimo zanko 'za' in tukaj uporabimo 'samodejno', da zaznamo vrsto podatkov. Dostopamo po vrednostih vektorja in jih nato natisnemo tako, da postavimo “valueOfVector” v “cout”.

Po tem vanjo postavimo še en »for« in »auto« ter ga inicializiramo z »&& valueOfVector : myVectorV1«. Tukaj dostopamo po sklicu in nato natisnemo vse vrednosti tako, da vstavimo »valueOfVector« v »cout«. Zdaj nam ni treba vstaviti vrste podatkov za obe zanki, saj znotraj zanke uporabljamo ključno besedo »samodejno«.

Koda 4:

#include
#include
uporabo imenski prostor std ;
int glavni ( ) {
vektor < int > mojVektorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
za ( avto valueOfVector : mojVektorV1 )
cout << valueOfVector << ' ' ;
cout << konec ;
za ( avto && valueOfVector : mojVektorV1 )
cout << valueOfVector << ' ' ;
cout << konec ;
vrnitev 0 ;
}

Izhod:
Prikažejo se vsi podatki vektorja. Številke, ki so prikazane v prvi vrstici, so tiste, do katerih smo dostopali po vrednostih, številke, ki so prikazane v drugi vrstici, pa so tiste, do katerih smo dostopali s sklicevanjem v kodi.

Primer 5:

Po klicu metode »main()« v tej kodi inicializiramo dve matriki, ki sta »myFirstArray« velikosti »7« s podatkovnim tipom »int« in »mySecondArray« z velikostjo »7« »double« tip podatkov. Vrednosti vstavimo v obe matriki. V prvo matriko vstavimo vrednosti 'integer'. V drugi matriki dodamo 'dvojne' vrednosti. Po tem uporabimo 'za' in v to zanko vstavimo 'samodejno'.

Tukaj uporabljamo zanko 'obseg osnove za' za 'myFirstArray'. Nato postavimo »myVar« v »cout«. Pod tem ponovno postavimo zanko in uporabimo zanko 'obseg osnove za'. Ta zanka je za 'mySecondArray' in nato natisnemo tudi vrednosti te matrike.

Koda 5:

#include
uporabo imenski prostor std ;
int glavni ( )
{
int myFirstArray [ 7 ] = { petnajst , 25 , 35 , Štiri, pet , 55 , 65 , 75 } ;
dvojno mySecondArray [ 7 ] = { 2.64 , 6.45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
za ( konst avto & myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << konec ;
za ( konst avto & myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
vrnitev 0 ;
}

Izhod:
Vsi podatki obeh vektorjev so prikazani v tem rezultatu tukaj.

Zaključek

Koncept »za avto« je v tem članku temeljito preučen. Pojasnili smo, da »samodejno« zazna vrsto podatkov, ne da bi jo omenil. V tem članku smo raziskali več primerov in tukaj podali tudi razlago kode. V tem članku smo podrobno razložili delovanje tega koncepta »za avto«.