Dalam tutorial ini, kita akan belajar tentang C ++ berkisar untuk loop dan praktik terbaiknya dengan bantuan contoh.
C ++ 11 memperkenalkan for
loop jarak jauh . Ini for
loop khusus digunakan dengan koleksi seperti array 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, for
loop jarak jauh mengulang nomor array dari awal hingga akhir. The int
variabel var menyimpan nilai dari elemen array di setiap iterasi.
Sintaksnya adalah,
for (rangeDeclaration : rangeExpression) ( // code )
Dalam contoh di atas,
- rangeDeclaration -
int var
- rangeExpression - num

Contoh 1: Ranged for Loop Using 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; )
Keluaran
1 2 3 4 5
Dalam contoh ini, kami mendeklarasikan dan menginisialisasi int
array bernama numArray. Di sini, kami menggunakan for
loop jarak jauh untuk mencetak elemen numArray.
- iterasi pertama - n mengambil nilai dari anggota pertama array, yaitu
1
- iterasi kedua - n mengambil nilai
2
dan kemudian dicetak dan seterusnya.
Catatan: Perulangan ranged for secara otomatis mengulang array dari awal hingga akhir. Kami tidak perlu menentukan jumlah iterasi dalam loop.
Contoh 2: C ++ Ranged untuk Loop 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; )
Keluaran
1 2 3 4 5
Contoh 3: Deklarasikan Koleksi di dalam Loop
#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; )
Keluaran
1 2 3 4 5
Di sini, kami telah mendeklarasikan koleksi di dalam loop itu sendiri yaitu
rangeExpression = (1, 2, 3, 4, 5)
Ini juga merupakan cara yang valid untuk menggunakan for
pengulangan jarak , dan cara kerjanya sama seperti saat kita menggunakan larik atau vektor sebenarnya.
C ++ Berkisar untuk Praktik Terbaik Loop
Dalam contoh di atas, kami telah mendeklarasikan variabel dalam for
loop untuk menyimpan setiap elemen koleksi di setiap iterasi.
int num(3) = (1, 2, 3); // copy elements of num to var for (int var : num) ( // code )
Namun, lebih baik menulis loop berbasis jarak seperti ini:
// access memory location of elements of num for (int &var : num) ( // code )
Perhatikan penggunaan &
before var. Sini,
int var : num
- Menyalin setiap elemen num ke variabel var di setiap iterasi. Ini tidak bagus untuk memori komputer.int &var : num
- Tidak menyalin setiap elemen num ke var. Sebaliknya, mengakses elemen num langsung dari num itu sendiri. Ini lebih efisien.
Catatan: The &
Operator dikenal sebagai operator referensi. Kami akan mempelajari lebih lanjut tentang itu di petunjuk C ++.

Catatan: Jika kita tidak memodifikasi array / vektor / collection dalam loop, lebih baik menggunakan const
kata kunci dalam deklarasi range.
// collection is not modified in the loop for (const int &var : num) ( // code )