Pentru Auto în C++

Pentru Auto In C



C++ oferă cuvântul cheie „auto” care indică faptul că tipul unei variabile va fi dedus automat din inițializatorul acesteia atunci când este declarată pentru prima dată. În plus, metodele al căror tip de returnare este automat își vor examina expresia tipului de returnare în timpul execuției. De asemenea, îl putem defini deoarece este utilizat pentru a detecta automat tipul de date al valorii. Când folosim acest cuvânt cheie „auto” în bucla „for”, nu trebuie să adăugăm tipul de date cu fiecare iterator. Cuvântul cheie „auto” din bucla „for” indică compilatorului să determine tipul unei variabile declarate folosind expresia de inițializare a acesteia.

Exemplul 1:

„iostream” este primul fișier antet aici unde sunt declarate funcțiile C++. Apoi, adăugăm fișierul antet „vector” care este inclus aici, astfel încât să putem lucra cu vectorul și funcția pentru a opera pe vectori. Apoi, „std” este spațiul de nume pe care îl inserăm aici, deci nu trebuie să punem acest „std” cu toate funcțiile individual în acest cod. Apoi, „main()” este invocat aici. Sub acesta, creăm un vector de tip de date „int” cu numele „myNewData” și inserăm câteva valori întregi în el.

După aceasta, plasăm bucla „for” și folosim acest cuvânt cheie „auto” în interiorul acesteia. Acum, acest iterator va detecta tipul de date al valorilor de aici. Obținem valorile vectorului „myNewData” și le salvăm în variabila „date” și, de asemenea, le afișăm aici pe măsură ce adăugăm aceste „date” în „cout”.







Cod 1:



#include
#include
folosind spatiu de nume std ;
int principal ( ) {
vector < int > myNewData { unsprezece , 22 , 33 , 44 , 55 , 66 } ;
pentru ( auto date : myNewData ) {
cout << date << endl ;
}
}

Ieșire :
Am văzut toate valorile acestui vector care sunt tipărite aici. Imprimăm aceste valori utilizând bucla „for” și plasând cuvântul cheie „auto” în interiorul acesteia.







Exemplul 2:

Aici, adăugăm „bits/stdc++.h” deoarece conține toate declarațiile de funcție. Apoi, punem aici spațiul de nume „std” și apoi invocăm „main()”. Sub aceasta, inițializam un „set” de „șir” și îl numim „myString”. Apoi, în rândul următor, inserăm datele șirului în el. Inserăm câteva nume de fructe în acest set folosind metoda „insert()”.

Folosim bucla „for” de sub aceasta și plasăm cuvântul cheie „auto” în interiorul acesteia. După aceasta, inițializam un iterator cu numele „my_it” cu cuvântul cheie „auto” și îi atribuim „myString” împreună cu funcția „begin()”.



Apoi, plasăm o condiție care este „my_it” nu este egală cu „myString.end()” și incrementăm valoarea iteratorului folosind „my_it++”. După aceasta, plasăm „*my_it” în „cout”. Acum, imprimă numele fructelor în funcție de secvența alfabetică, iar tipul de date este detectat automat pe măsură ce am plasat cuvântul cheie „auto” aici.

Cod 2:

#include
folosind spatiu de nume std ;
int principal ( )
{
a stabilit < şir > myString ;
myString. introduce ( { 'struguri' , 'Portocale' , 'Banană' , 'Pară' , 'Măr' } ) ;
pentru ( auto my_it = myString. ÎNCEPE ( ) ; my_it ! = myString. Sfârşit ( ) ; my_it ++ )
cout << * my_it << ' ' ;

întoarcere 0 ;
}

Ieșire:
Aici, putem observa că numele fructelor sunt afișate într-o secvență alfabetică. Toate datele sunt redate aici, pe care le-am introdus în setul de șiruri, deoarece am folosit „for” și „auto” în codul anterior.

Exemplul 3:

Deoarece „bits/stdc++.h” are deja toate declarațiile de funcție, îl adăugăm aici. După adăugarea spațiului de nume „std”, apelăm „main()” din această locație. „Setul” de „int” pe care l-am stabilit în cele ce urmează se numește „myIntegers”. Apoi, adăugăm datele întregi în linia care a urmat. Folosim metoda „insert()” pentru a adăuga câteva numere întregi la această listă. Cuvântul cheie „auto” este acum inserat în bucla „for” care este utilizată sub acesta.

Apoi, folosim cuvântul cheie „auto” pentru a inițializa un iterator cu numele „new_it”, atribuindu-i funcțiile „myIntegers” și „begin()”. Apoi, stabilim o condiție care afirmă că „my_it” nu trebuie să fie egal cu „myIntegers.end()” și folosim „new_it++” pentru a crește valoarea iteratorului. Apoi, inserăm „*new_it” în această secțiune „cout”. Tipărește numerele întregi crescător. Pe măsură ce este inserat cuvântul cheie „auto”, acesta detectează automat tipul de date.

Cod 3:

#include
folosind spatiu de nume std ;
int principal ( )
{
a stabilit < int > myIntegers ;
myIntegers. introduce ( { Patru cinci , 31 , 87 , 14 , 97 , douăzeci și unu , 55 } ) ;
pentru ( auto nou_it = myIntegers. ÎNCEPE ( ) ; nou_it ! = myIntegers. Sfârşit ( ) ; nou_it ++ )
cout << * nou_it << ' ' ;

întoarcere 0 ;
}

Ieșire :
Numerele întregi sunt afișate aici în ordine crescătoare, așa cum se vede în cele ce urmează. Deoarece am folosit termenii „pentru” și „auto” în codul anterior, toate datele pe care le-am plasat în setul întreg sunt redate aici.

Exemplul 4:

Fișierele de antet „iostream” și „vector” sunt incluse pe măsură ce lucrăm cu vectorii aici. Spațiul de nume „std” este apoi adăugat și apoi numim „main()”. Apoi, inițializam un vector de tip de date „int” cu numele „myVectorV1” și adăugăm câteva valori acestui vector. Acum, plasăm bucla „for” și folosim „auto” aici pentru a detecta tipul de date. Accesăm prin valori ale vectorului și apoi le imprimăm plasând „valueOfVector” în „cout”.

După aceasta, plasăm un alt „pentru” și „auto” în interiorul acestuia și îl inițializam cu „&& valueOfVector : myVectorV1”. Aici, accesăm prin referință și apoi imprimăm toate valorile punând „valueOfVector” în „cout”. Acum, nu trebuie să inserăm tipul de date pentru ambele bucle, deoarece utilizăm cuvântul cheie „auto” în interiorul buclei.

Cod 4:

#include
#include
folosind spatiu de nume std ;
int principal ( ) {
vector < int > myVectorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
pentru ( auto valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
pentru ( auto && valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
întoarcere 0 ;
}

Ieșire:
Sunt afișate toate datele vectorului. Numerele care sunt afișate în prima linie sunt cele pe care le-am accesat prin valori, iar numerele care sunt afișate în a doua linie sunt cele pe care le-am accesat prin referință în cod.

Exemplul 5:

După apelarea metodei „main()” în acest cod, inițializam două matrice care sunt „myFirstArray” de dimensiunea „7” cu tipul de date „int” și „mySecondArray” cu dimensiunea „7” a „double” tip de date. Inserăm valorile în ambele matrice. În prima matrice, inserăm valorile „întregi”. În a doua matrice, adăugăm valorile „duble”. După aceasta, folosim „for” și inserăm „auto” în această buclă.

Aici, folosim o buclă „bază interval pentru” pentru „myFirstArray”. Apoi, plasăm „myVar” în „cout”. Sub aceasta, plasăm din nou o buclă și utilizăm bucla „bază de interval pentru”. Această buclă este pentru „mySecondArray” și apoi imprimăm și valorile acelei matrice.

Cod 5:

#include
folosind spatiu de nume std ;
int principal ( )
{
int myFirstArray [ 7 ] = { cincisprezece , 25 , 35 , Patru cinci , 55 , 65 , 75 } ;
dubla mySecondArray [ 7 ] = { 2,64 , 6.45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
pentru ( const auto & myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << endl ;
pentru ( const auto & myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
întoarcere 0 ;
}

Ieșire:
Toate datele ambilor vectori sunt afișate aici în acest rezultat.

Concluzie

Conceptul „pentru auto” este studiat amănunțit în acest articol. Am explicat că „auto” detectează tipul de date fără a-l menționa. Am explorat mai multe exemple în acest articol și am oferit și explicația codului aici. Am explicat profund modul de funcționare a acestui concept „pentru auto” în acest articol.