Cara Menggunakan Rentang Berbasis untuk Loop di C++

Cara Menggunakan Rentang Berbasis Untuk Loop Di C



Bahasa pemrograman C++ berbasis rentang untuk loop adalah fitur yang relatif baru yang pertama kali diperkenalkan di C++11. Berbasis rentang untuk loop mengeksekusi loop over range. Mereka bekerja dengan wadah apa pun yang memiliki iterator, termasuk array, vektor, peta, set, dan bahkan tipe yang ditentukan pengguna yang mengimplementasikan operasi yang diperlukan.

Sintaks Berbasis Rentang untuk Loop

A berbasis rentang untuk loop memiliki sintaks yang sangat mudah. Itu terdiri dari variabel loop, wadah atau rentang untuk diulang, dan titik dua.







untuk ( range_declaration : range_expression ) pernyataan lingkaran



range_declaration: deklarasi-jangkauan adalah deklarasi variabel dengan tipe yang sama dengan elemen-elemen ekspresi komponen-jangkauan. Untuk secara otomatis menentukan jenis komponen dalam a range_expression , kata kunci otomatis sering digunakan.



rentang_ekspresi: Setiap ekspresi yang mewakili daftar elemen adalah a range_expression .





pernyataan lingkaran: Badan perulangan for terdiri dari satu atau lebih pernyataan yang harus diulang hingga akhir ekspresi_rentang.

Metode untuk Mengeksekusi Berbasis Rentang untuk Loop

Ada tiga metode yang dapat digunakan untuk berbasis rentang untuk loop .



Metode 1: Menggunakan Array

Berbasis rentang untuk loop dapat dijalankan menggunakan array seperti ini.

#termasuk
menggunakan namespace std;

int utama ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
untuk ( int n : numArray ) {
cout << N << ' ' ;
}
kembali 0 ;
}

Dalam kode di atas, array integer yang disebut numArray diinisialisasi. Kemudian elemen numArray dicetak menggunakan a berbasis rentang untuk loop .

Keluaran

Metode 2: Menggunakan Vektor

Berbasis rentang untuk loop dapat dijalankan menggunakan vektor seperti ini.

#termasuk
#termasuk
menggunakan namespace std;
int utama ( )
{
int x;
vektor < int > di = { 1 , 2 , 3 , 4 , 5 } ;
untuk ( int x :v )
{
cout << X << ' ' ;
}
kembali 0 ;
}

Dalam kode di atas, sebuah vektor disebut di dalam diinisialisasi. Di sini, elemen vektor v dicetak menggunakan a berbasis rentang untuk loop.

Keluaran

Metode 3: Deklarasikan Collection Inside Loop

Berbasis rentang untuk loop juga dapat dideklarasikan di dalam loop. Ini beroperasi mirip dengan bagaimana array atau vektor yang sebenarnya.

#termasuk

menggunakan namespace std;
int utama ( ) {
untuk ( int n : { 5 , 10 , limabelas , dua puluh , 25 } ) {
cout << N << ' ' ;
}
kembali 0 ;
}

Pada kode di atas, koleksi dideklarasikan di dalam loop itu sendiri dan kemudian dicetak.

Keluaran

Keuntungan dan Kerugian Berbasis Rentang untuk Loop

Berbasis rentang untuk loop memiliki manfaat lebih dari konvensional untuk loop dalam beberapa cara, terutama saat bekerja dengan wadah. Karena variabel loop didefinisikan di dalam loop dan rentang dinyatakan secara eksplisit, ini membuat kode lebih pendek dan lebih mudah dipahami. Mereka juga lebih aman, karena tidak perlu khawatir tentang kesalahan satu per satu atau kesalahan pengindeksan lainnya. Mereka lebih mudah beradaptasi karena dapat menggunakan wadah apa pun, terlepas dari jenis atau ukurannya. Itu berbasis rentang untuk loop memiliki beberapa manfaat, salah satunya adalah membuat kode kita lebih bersih dan lebih mudah dipahami.

Berbasis rentang untuk loop memang memiliki batasan tertentu. Karena variabel loop adalah salinan atau referensi ke elemen, bukan elemen sebenarnya, variabel loop tidak dapat digunakan untuk mengubah elemen wadah. Karena rentang penuh terus-menerus diulangi, kami tidak dapat melewatkan elemen apa pun atau hanya mengulangi sebagian dari data.

Kesimpulan

Berbasis rentang untuk loop adalah fitur yang kuat dan serbaguna dari bahasa pemrograman C++. Dibandingkan dengan for loop konvensional, mereka menawarkan keamanan dan fleksibilitas yang ditingkatkan bersama dengan pendekatan yang jelas dan dapat dibaca untuk mengulang melalui wadah dan mengurangi kode. Berbasis rentang untuk loop adalah suatu keharusan untuk belajar untuk programmer C ++.