Auto esetén C++ nyelven

Auto Eseten C Nyelven



A C++ biztosítja az „auto” kulcsszót, amely azt jelzi, hogy a változó típusát a rendszer automatikusan kikövetkezteti az inicializálóból, amikor először deklarálják. Ezenkívül azok a metódusok, amelyek visszatérési típusa automatikus, futás közben megvizsgálják a visszatérési típusukat. Meghatározhatjuk úgy is, hogy az érték adattípusának automatikus felismerésére szolgál. Amikor ezt az „auto” kulcsszót használjuk a „for” ciklusban, nem kell minden iterátorhoz hozzáadnunk az adattípust. Az „auto” kulcsszó a „for” ciklusban arra utasítja a fordítót, hogy határozza meg a deklarált változó típusát az inicializálási kifejezése segítségével.

1. példa:

Az „iostream” az első fejlécfájl, ahol a C++ funkciói deklarálva vannak. Ezután hozzáadjuk az itt található „vektor” fejlécfájlt, hogy a vektorral és a funkcióval együtt dolgozhassunk a vektorokon. Ezután az „std” az a névtér, amelyet ide beszúrunk, így nem kell ezt az „std”-t az összes funkcióval külön-külön elhelyeznünk ebben a kódban. Ezután itt a „main()” meghívásra kerül. Ez alatt létrehozunk egy „int” adattípusú vektort „myNewData” néven, és beszúrunk néhány egész értéket.

Ezt követően elhelyezzük a „for” ciklust, és felhasználjuk benne az „auto” kulcsszót. Most ez az iterátor érzékeli az itt található értékek adattípusát. Megkapjuk a „myNewData” vektor értékeit, és elmentjük a „data” változóba, és itt is megjelenítjük, amikor hozzáadjuk ezeket az „adatokat” a „cout”-hoz.







1. kód:



#include
#include
segítségével névtér std ;
int fő- ( ) {
vektor < int > myNewData { tizenegy , 22 , 33 , 44 , 55 , 66 } ;
számára ( auto adat : myNewData ) {
cout << adat << endl ;
}
}

Kimenet :
Láttuk ennek a vektornak az összes itt kinyomtatott értékét. Ezeket az értékeket úgy nyomtatjuk ki, hogy felhasználjuk a „for” ciklust, és elhelyezzük benne az „auto” kulcsszót.







2. példa:

Itt hozzáadjuk a „bits/stdc++.h”-t, mivel ez tartalmazza az összes függvénydeklarációt. Ezután ide helyezzük az „std” névteret, majd meghívjuk a „main()”-t. Ez alatt inicializáljuk a „string” „készletét”, és elnevezzük „myString”-nek. Ezután a következő sorba beillesztjük a karakterlánc adatait. Ebbe a halmazba beszúrunk néhány gyümölcsnevet az „insert()” metódussal.

Ez alatt a „for” hurkot használjuk, és az „auto” kulcsszót helyezzük el benne. Ezután inicializálunk egy „my_it” nevű iterátort az „auto” kulcsszóval, és ehhez rendeljük a „myString”-et a „begin()” függvénnyel együtt.



Ezután behelyezünk egy feltételt, amely 'my_it' nem egyenlő a 'myString.end()'-vel, és növeljük az iterátor értékét a 'my_it++' használatával. Ezt követően a „*my_it”-et a „cout”-ba helyezzük. Most kiírja a gyümölcsneveket az ábécé sorrend szerint, és az adattípust automatikusan észleli, amikor ide helyeztük az „auto” kulcsszót.

2. kód:

#include
segítségével névtér std ;
int fő- ( )
{
készlet < húr > myString ;
myString. betét ( { 'Szőlő' , 'Narancs' , 'Banán' , 'Körte' , 'Alma' } ) ;
számára ( auto my_it = myString. kezdődik ( ) ; my_it ! = myString. vége ( ) ; my_it ++ )
cout << * my_it << ' ' ;

Visszatérés 0 ;
}

Kimenet:
Itt észrevehetjük, hogy a gyümölcsnevek alfabetikus sorrendben jelennek meg. Itt jelenik meg minden adat, amelyet beszúrtunk a karakterlánc-készletbe, mert az előző kódban a „for” és az „auto” kifejezéseket használtuk.

3. példa:

Mivel a „bits/stdc++.h” már tartalmazza az összes függvénydeklarációt, ide adjuk. Az „std” névtér hozzáadása után a „main()”-t erről a helyről hívjuk meg. Az „int” „halmazát”, amelyet a következőkben hoztunk létre, „myIntegers”-nek nevezzük. Ezután hozzáadjuk az egész számokat a következő sorban. Az „insert()” metódust használjuk néhány egész szám hozzáadásához a listához. Az „auto” kulcsszó most bekerült az alatta használt „for” ciklusba.

Ezután az „auto” kulcsszóval inicializálunk egy iterátort „new_it” néven, hozzárendelve a „myIntegers” és a „begin()” függvényeket. Ezután beállítunk egy feltételt, amely kimondja, hogy a „my_it” nem lehet egyenlő a „myIntegers.end()”-vel, és a „new_it++” használatával növeljük az iterátor értékét. Ezután beillesztjük a „*new_it”-et ebbe a „cout” szakaszba. Az egész számokat növekvő sorrendben írja ki. Az „auto” kulcsszó beillesztésekor automatikusan felismeri az adattípust.

3. kód:

#include
segítségével névtér std ;
int fő- ( )
{
készlet < int > myIntegers ;
myIntegers. betét ( { Négy öt , 31 , 87 , 14 , 97 , huszonegy , 55 } ) ;
számára ( auto new_it = myIntegers. kezdődik ( ) ; new_it ! = myIntegers. vége ( ) ; new_it ++ )
cout << * new_it << ' ' ;

Visszatérés 0 ;
}

Kimenet :
Az egész számok itt növekvő sorrendben jelennek meg, ahogy az alábbiakban látható. Mivel az előző kódban a „for” és az „auto” kifejezéseket használtuk, itt jelenik meg minden adat, amit az egész számkészletbe helyeztünk.

4. példa:

Az „iostream” és a „vector” fejlécfájlok szerepelnek, ahogy itt dolgozunk a vektorokkal. Ezután hozzáadásra kerül az „std” névtér, majd meghívjuk a „main()”-t. Ezután inicializálunk egy „int” adattípusú vektort „myVectorV1” néven, és hozzáadunk néhány értéket ehhez a vektorhoz. Most helyezzük el a „for” hurkot, és használjuk az „auto”-t az adattípus észlelésére. A vektor értékei alapján érjük el, majd kinyomtatjuk azokat úgy, hogy a „valueOfVector”-t a „cout”-ba helyezzük.

Ezt követően egy másik „for”-t és az „auto”-t helyezünk el benne, és inicializáljuk az „&& valueOfVector : myVectorV1”-el. Itt a hivatkozással érünk el, majd kinyomtatjuk az összes értéket a „valueOfVector” beírásával a „cout”-ba. Most már nem kell beszúrnunk az adattípust mindkét ciklushoz, mivel az „auto” kulcsszót használjuk a cikluson belül.

4. kód:

#include
#include
segítségével névtér std ;
int fő- ( ) {
vektor < int > myVectorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
számára ( auto valueOfVector : myVectorV1 )
cout << valueOfVector << '' ;
cout << endl ;
számára ( auto && valueOfVector : myVectorV1 )
cout << valueOfVector << '' ;
cout << endl ;
Visszatérés 0 ;
}

Kimenet:
A vektor összes adata megjelenik. Az első sorban azok a számok jelennek meg, amelyeket értékekkel értünk el, a második sorban pedig azok, amelyekhez a kódban hivatkozva fértünk hozzá.

5. példa:

A „main()” metódus meghívása után ebben a kódban inicializálunk két tömböt, amelyek a „myFirstArray” 7-es méretű „int” adattípussal és a „mySecondArray” a „double” 7-es méretével. adattípus. Mindkét tömbbe beillesztjük az értékeket. Az első tömbbe beillesztjük az „integer” értékeket. A második tömbben hozzáadjuk a „dupla” értékeket. Ezt követően használjuk a „for”-t, és ebbe a ciklusba illesszük be az „auto”-t.

Itt egy „tartomány alapja” ciklust használunk a „myFirstArray” számára. Ezután a „myVar”-t a „cout”-ba helyezzük. Ez alatt ismét elhelyezünk egy hurkot, és a „tartomány alapja” ciklust használjuk. Ez a ciklus a „mySecondArray”-re vonatkozik, majd kiírjuk ennek a tömbnek az értékeit is.

5. kód:

#include
segítségével névtér std ;
int fő- ( )
{
int myFirstArray [ 7 ] = { tizenöt , 25 , 35 , Négy öt , 55 , 65 , 75 } ;
kettős mySecondArray [ 7 ] = { 2.64 , 6.45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
számára ( const auto & myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << endl ;
számára ( const auto & myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
Visszatérés 0 ;
}

Kimenet:
Ebben az eredményben mindkét vektor összes adata megjelenik.

Következtetés

Ebben a cikkben alaposan tanulmányozzuk az „auto” koncepciót. Elmagyaráztuk, hogy az „auto” anélkül észleli az adattípust, hogy megemlítené. Ebben a cikkben több példát is megvizsgáltunk, és itt megadtuk a kód magyarázatát is. Ebben a cikkben részletesen elmagyaráztuk ennek az „auto” koncepciónak a működését.