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, iaitu
1 - 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 )








