Untuk Auto dalam C++

Untuk Auto Dalam C



C++ menyediakan kata kunci 'auto' yang menunjukkan bahawa jenis pembolehubah akan disimpulkan secara automatik daripada pemulanya apabila ia mula-mula diisytiharkan. Selain itu, kaedah yang jenis pemulangannya ialah auto akan memeriksa ungkapan jenis pemulangannya pada masa jalan. Kami juga boleh mentakrifkannya kerana ia digunakan untuk mengesan jenis data nilai secara automatik. Apabila kami menggunakan kata kunci 'auto' ini dalam gelung 'untuk', kami tidak perlu menambah jenis data dengan setiap lelaran. Kata kunci 'auto' dalam gelung 'untuk' mengarahkan pengkompil untuk menentukan jenis pembolehubah yang diisytiharkan menggunakan ungkapan permulaannya.

Contoh 1:

'iostream' ialah fail pengepala pertama di sini di mana fungsi C++ diisytiharkan. Kemudian, kami menambah fail pengepala 'vektor' yang disertakan di sini supaya kami boleh bekerja dengan vektor dan berfungsi untuk beroperasi pada vektor. Kemudian, 'std' ialah ruang nama yang kami masukkan di sini, jadi kami tidak perlu meletakkan 'std' ini dengan semua fungsi secara individu dalam kod ini. Kemudian, 'utama()' digunakan di sini. Di bawah ini, kami mencipta vektor jenis data 'int' dengan nama 'myNewData' dan memasukkan beberapa nilai integer di dalamnya.

Selepas ini, kami meletakkan gelung 'untuk' dan menggunakan kata kunci 'auto' ini di dalamnya. Sekarang, iterator ini akan mengesan jenis data nilai di sini. Kami mendapat nilai vektor 'myNewData' dan menyimpannya dalam pembolehubah 'data' dan juga memaparkannya di sini semasa kami menambah 'data' ini dalam 'cout'.







Kod 1:



#include
#include
menggunakan ruang nama std ;
int utama ( ) {
vektor < int > myNewData { sebelas , 22 , 33 , 44 , 55 , 66 } ;
untuk ( auto data : myNewData ) {
cout << data << endl ;
}
}

Pengeluaran :
Kami telah melihat semua nilai vektor ini yang dicetak di sini. Kami mencetak nilai ini dengan menggunakan gelung 'untuk' dan meletakkan kata kunci 'auto' di dalamnya.







Contoh 2:

Di sini, kami menambah 'bits/stdc++.h' kerana ia mengandungi semua pengisytiharan fungsi. Kemudian, kami meletakkan ruang nama 'std' di sini dan kemudian menggunakan 'main()'. Di bawah ini, kami memulakan 'set' 'rentetan' dan menamakannya sebagai 'myString'. Kemudian, dalam baris seterusnya, kami memasukkan data rentetan di dalamnya. Kami memasukkan beberapa nama buah dalam set ini menggunakan kaedah 'insert()'.

Kami menggunakan gelung 'untuk' di bawah ini dan meletakkan kata kunci 'auto' di dalamnya. Selepas ini, kami memulakan iterator dengan nama 'my_it' dengan kata kunci 'auto' dan menetapkan 'myString' kepada ini bersama-sama dengan fungsi 'begin()'.



Kemudian, kami meletakkan syarat iaitu 'my_it' tidak sama dengan 'myString.end()' dan menambah nilai iterator menggunakan 'my_it++'. Selepas ini, kami meletakkan '*my_it' ke dalam 'cout'. Kini, ia mencetak nama buah mengikut urutan abjad, dan jenis data dikesan secara automatik apabila kami meletakkan kata kunci 'auto' di sini.

Kod 2:

#include
menggunakan ruang nama std ;
int utama ( )
{
ditetapkan < tali > myString ;
myString. masukkan ( { 'Anggur' , 'Oren' , 'Pisang' , 'Pear' , 'Epal' } ) ;
untuk ( auto saya_itu = myString. bermula ( ) ; saya_itu ! = myString. tamat ( ) ; saya_itu ++ )
cout << * saya_itu << ' ' ;

kembali 0 ;
}

Pengeluaran:
Di sini, kita dapat melihat bahawa nama buah dipaparkan dalam urutan abjad. Semua data dipaparkan di sini yang kami masukkan dalam set rentetan kerana kami menggunakan 'untuk' dan 'auto' dalam kod sebelumnya.

Contoh 3:

Memandangkan 'bits/stdc++.h' sudah mempunyai semua pengisytiharan fungsi, kami menambahkannya di sini. Selepas menambah ruang nama 'std', kami memanggil 'main()' dari lokasi ini. 'Set' 'int' yang kami tetapkan dalam perkara berikut dipanggil 'myIntegers'. Kemudian, kami menambah data integer dalam baris yang diikuti. Kami menggunakan kaedah 'insert()' untuk menambah beberapa integer pada senarai ini. Kata kunci 'auto' kini dimasukkan ke dalam gelung 'untuk' yang digunakan di bawah ini.

Seterusnya, kami menggunakan kata kunci 'auto' untuk memulakan iterator dengan nama 'new_it', memberikan fungsi 'myIntegers' dan 'begin()' kepadanya. Seterusnya, kami menyediakan syarat yang menyatakan bahawa 'my_it' mestilah tidak sama dengan 'myIntegers.end()' dan menggunakan 'new_it++' untuk meningkatkan nilai iterator. Seterusnya, kami memasukkan '*new_it' ke dalam bahagian 'cout' ini. Ia mencetak integer secara menaik. Apabila kata kunci 'auto' dimasukkan, ia mengesan jenis data secara automatik.

Kod 3:

#include
menggunakan ruang nama std ;
int utama ( )
{
ditetapkan < int > myIntegers ;
myIntegers. masukkan ( { Empat lima , 31 , 87 , 14 , 97 , dua puluh satu , 55 } ) ;
untuk ( auto baru_itu = myIntegers. bermula ( ) ; baru_itu ! = myIntegers. tamat ( ) ; baru_itu ++ )
cout << * baru_itu << ' ' ;

kembali 0 ;
}

Pengeluaran :
Integer ditunjukkan di sini dalam tertib menaik seperti yang dilihat dalam berikut. Memandangkan kami menggunakan istilah 'untuk' dan 'auto' dalam kod sebelumnya, semua data yang kami letakkan ke dalam set integer dipaparkan di sini.

Contoh 4:

Fail pengepala 'iostream' dan 'vektor' disertakan semasa kami bekerja dengan vektor di sini. Ruang nama 'std' kemudiannya ditambah dan kami kemudian memanggil 'main()'. Kemudian, kami memulakan vektor jenis data 'int' dengan nama 'myVectorV1' dan menambah beberapa nilai pada vektor ini. Sekarang, kami meletakkan gelung 'untuk' dan menggunakan 'auto' di sini untuk mengesan jenis data. Kami mengakses mengikut nilai vektor dan kemudian mencetaknya dengan meletakkan 'valueOfVector' dalam 'cout'.

Selepas ini, kami meletakkan satu lagi 'untuk' dan 'auto' di dalamnya dan memulakannya dengan '&& valueOfVector : myVectorV1'. Di sini, kami mengakses melalui rujukan dan kemudian mencetak semua nilai dengan meletakkan 'valueOfVector' dalam 'cout'. Sekarang, kami tidak perlu memasukkan jenis data untuk kedua-dua gelung kerana kami menggunakan kata kunci 'auto' di dalam gelung.

Kod 4:

#include
#include
menggunakan ruang nama std ;
int utama ( ) {
vektor < int > myVectorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
untuk ( auto valueOfVector : myVectorV1 )
cout << valueOfVector << '' ;
cout << endl ;
untuk ( auto && valueOfVector : myVectorV1 )
cout << valueOfVector << '' ;
cout << endl ;
kembali 0 ;
}

Pengeluaran:
Semua data vektor dipaparkan. Nombor yang dipaparkan dalam baris pertama ialah nombor yang kami akses mengikut nilai, dan nombor yang dipaparkan dalam baris kedua ialah nombor yang kami akses melalui rujukan dalam kod.

Contoh 5:

Selepas memanggil kaedah 'main()' dalam kod ini, kami memulakan dua tatasusunan iaitu 'myFirstArray' bersaiz '7' dengan jenis data 'int' dan 'mySecondArray' dengan saiz '7' daripada 'double' jenis data. Kami memasukkan nilai kepada kedua-dua tatasusunan. Dalam tatasusunan pertama, kami memasukkan nilai 'integer'. Dalam tatasusunan kedua, kami menambah nilai 'berganda'. Selepas ini, kami menggunakan 'untuk' dan memasukkan 'auto' dalam gelung ini.

Di sini, kami menggunakan gelung 'asas julat untuk' untuk 'myFirstArray'. Kemudian, kami meletakkan 'myVar' dalam 'cout'. Di bawah ini, kami meletakkan gelung sekali lagi dan menggunakan gelung 'dasar julat untuk'. Gelung ini adalah untuk 'mySecondArray' dan kemudian kami juga mencetak nilai tatasusunan itu.

Kod 5:

#include
menggunakan ruang nama std ;
int utama ( )
{
int myFirstArray [ 7 ] = { lima belas , 25 , 35 , Empat lima , 55 , 65 , 75 } ;
berganda mySecondArray [ 7 ] = { 2.64 , 6.45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
untuk ( const auto & myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << endl ;
untuk ( const auto & myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
kembali 0 ;
}

Pengeluaran:
Semua data kedua-dua vektor dipaparkan dalam hasil ini di sini.

Kesimpulan

Konsep 'untuk auto' dikaji dengan teliti dalam artikel ini. Kami menjelaskan bahawa 'auto' mengesan jenis data tanpa menyebutnya. Kami meneroka pelbagai contoh dalam artikel ini dan juga memberikan penjelasan kod di sini. Kami menerangkan dengan mendalam cara kerja konsep 'untuk auto' ini dalam artikel ini.