C ++ Ranged for Loop (Dengan Contoh)

Dalam tutorial ini, kita akan belajar mengenai C ++ yang terdiri daripada gelung dan amalan terbaiknya dengan bantuan contoh.

C ++ 11 memperkenalkan forgelung berkisar . Ini forgelung secara khusus digunakan dengan koleksi seperti tatasusunan dan vektor .

Sebagai contoh,

 // initialize an int array int num(3) = (1, 2, 3); // use of ranged for loop for (int var : num) ( // code )

Di sini, forgelung berjulat mengulangi bilangan array dari awal hingga akhir. The intvar pembolehubah menyimpan nilai elemen array dalam setiap lelaran.

Sintaksnya adalah,

 for (rangeDeclaration : rangeExpression) ( // code )

Dalam contoh di atas,

  • Perisytiharan julat -int var
  • rangeExpression - bilangan
Bekerja berjulat untuk gelung dalam C ++

Contoh 1: Dijangka untuk Gelung Menggunakan Array

 #include using namespace std; int main() ( // initialize array int numArray() = (1, 2, 3, 4, 5); // use of ranged for loop to print array elements for (int n : numArray) ( cout << n << " "; ) return 0; )

Pengeluaran

 1 2 3 4 5

Dalam contoh ini, kami menyatakan dan menginisialisasi intarray bernama numArray. Di sini, kami menggunakan forgelung berkisar untuk mencetak elemen numArray.

  • lelaran pertama - n mengambil nilai anggota pertama array, iaitu1
  • lelaran kedua - n mengambil nilai 2dan kemudian dicetak dan seterusnya.

Catatan: Gelung berkisar untuk secara automatik mengulangi array dari awal hingga akhir. Kami tidak perlu menentukan bilangan lelaran dalam gelung.

Contoh 2: C ++ Dibentuk untuk Gelung Menggunakan Vektor

 #include #include using namespace std; int main() ( // declare and initialize vector vector num_vector = (1, 2, 3, 4, 5); // print vector elements for (int n : num_vector) ( cout << n << " "; ) return 0; )

Pengeluaran

 1 2 3 4 5

Contoh 3: Menyatakan Koleksi di dalam Gelung

 #include using namespace std; int main() ( // define the collection in the loop itself for (int n : (1, 2, 3, 4, 5)) ( cout << n << " "; ) return 0; )

Pengeluaran

 1 2 3 4 5

Di sini, kami telah menyatakan koleksi dalam lingkaran itu sendiri iaitu

 rangeExpression = (1, 2, 3, 4, 5)

Ini juga merupakan cara yang tepat untuk menggunakan forgelung berkisar , dan berfungsi dengan cara yang sama seperti ketika kita menggunakan susunan atau vektor yang sebenarnya.

C ++ Dijangka untuk Amalan Terbaik Gelung

Dalam contoh di atas, kami telah menyatakan pemboleh ubah dalam forgelung untuk menyimpan setiap elemen koleksi dalam setiap lelaran.

 int num(3) = (1, 2, 3); // copy elements of num to var for (int var : num) ( // code )

Namun, lebih baik menulis berdasarkan julat untuk gelung seperti ini:

 // access memory location of elements of num for (int &var : num) ( // code )

Perhatikan penggunaan &sebelum var. Di sini,

  • int var : num- Menyalin setiap elemen num ke pemboleh ubah var dalam setiap lelaran. Ini tidak baik untuk memori komputer.
  • int &var : num- Tidak menyalin setiap unsur num ke var. Sebaliknya, mengakses unsur num secara langsung dari angka itu sendiri. Ini lebih cekap.

Nota: The &operator dikenali sebagai pengendali rujukan. Kami akan mengetahui lebih lanjut mengenainya dalam petunjuk C ++.

Kerja alamat yang ditunjukkan dalam C ++ berkisar untuk gelung

Catatan: Sekiranya kita tidak mengubah susunan / vektor / koleksi dalam gelung, lebih baik menggunakan constkata kunci dalam deklarasi julat.

 // collection is not modified in the loop for (const int &var : num) ( // code )

Artikel menarik...