Continue in Range Based for Loop
C++11 introduced the ranged          for          loop. This          for          loop is specifically used with collections such as          arrays          and          vectors.
For example,
          // initialize an int array int num[3] = {1, 2, 3};  // use of ranged for loop for (int var : num) {     // code }                Here, the ranged          for          loop iterates the array          num          from beginning to end. The          int          variable          var          stores the value of the array element in each iteration.
Its syntax is,
          for (rangeDeclaration : rangeExpression) {     // code }                In the above example,
-             rangeDeclaration            -            
int var - rangeExpression - num
 
          Example 1: Ranged for Loop Using Array
          #include <iostream> 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; }                Output
1 2 3 4 5
In this example, we declared and initialized an          int          array named          numArray. Here, we used the ranged          for          loop to print out the elements of          numArray.
-             first iteration            -            n            takes the value of the first member of the array, which is            
1 -             second iteration            -            n            takes the value of            
2and is then printed - ...and so on.
 
Note: The ranged for loop automatically iterates the array from its beginning to its end. We do not need to specify the number of iterations in the loop.
Example 2: C++ Ranged for Loop Using Vector
          #include <iostream> #include <vector> using namespace std;  int main() {      // declare and initialize vector       vector<int> num_vector = {1, 2, 3, 4, 5};      // print vector elements       for (int n : num_vector) {         cout << n << " ";     }        return 0; }                Output
1 2 3 4 5
Example 3: Declare Collection inside the Loop
          #include <iostream>  using namespace std;  int main() {      // define the collection in the loop itself     for (int n : {1, 2, 3, 4, 5}) {         cout << n << " ";     }      return 0; }                Output
1 2 3 4 5
Here, we have declared the collection within the loop itself i.e.
          rangeExpression = {1, 2, 3, 4, 5}                This is also a valid way of using the ranged          for          loop, and it works in the same way as when we use an actual array or vector.
C++ Ranged for Loop Best Practices
In the above examples, we have declared a variable in the          for          loop to store each element of the collection in each iteration.
          int num[3] = {1, 2, 3};  // copy elements of num to var for (int var : num) {     // code }                However, it's better to write the ranged based for loop like this:
          // access memory location of elements of num for (int &var : num) {     // code }                Notice the use of          &          before          var. Here,
-             
int var : num- Copies each element of num to the var variable in each iteration. This is not good for computer memory. -             
int &var : num- Does not copy each element of num to var. Instead, accesses the elements of num directly from num itself. This is more efficient. 
          Note:          The          &          operator is known as the reference operator. We will learn more about it in C++ pointers.
                      Note:            If we are not modifying the array/vector/collection within the loop, it is better to use the            const            keyword in range declaration.
            // collection is not modified in the loop for (const int &var : num) {     // code }                  Source: https://www.programiz.com/cpp-programming/ranged-for-loop
0 Response to "Continue in Range Based for Loop"
Post a Comment