Neste tutorial, aprenderemos sobre os loops for variados em C ++ e suas melhores práticas com a ajuda de exemplos.
C ++ 11 introduziu o forloop variado . Este forloop é usado especificamente com coleções como matrizes e vetores .
Por exemplo,
 // initialize an int array int num(3) = (1, 2, 3); // use of ranged for loop for (int var : num) ( // code )
Aqui, o forloop variado itera a matriz num do início ao fim. A intvariável var armazena o valor do elemento do array em cada iteração.
Sua sintaxe é,
 for (rangeDeclaration : rangeExpression) ( // code )
No exemplo acima,
- rangeDeclaration -
int var - rangeExpression - num
 
 Trabalho de loop ranged for em C ++
Exemplo 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; )
Resultado
1 2 3 4 5
Neste exemplo, declaramos e inicializamos uma intmatriz chamada numArray. Aqui, usamos o forloop variado para imprimir os elementos de numArray.
- primeira iteração - n pega o valor do primeiro membro da matriz, que é
1 - segunda iteração - n obtém o valor de 
2e é então impresso e assim por diante. 
Nota: O loop for ranged itera automaticamente a matriz do início ao fim. Não precisamos especificar o número de iterações no loop.
Exemplo 2: C ++ Ranged for Loop Usando Vector
 #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; )
Resultado
1 2 3 4 5
Exemplo 3: Declare a coleção dentro do 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; )
Resultado
1 2 3 4 5
Aqui, declaramos a coleção dentro do próprio loop, ou seja,
 rangeExpression = (1, 2, 3, 4, 5)
Essa também é uma maneira válida de usar o forloop com variação e funciona da mesma forma que quando usamos uma matriz ou vetor real.
C ++ Ranged for Loop Best Practices
Nos exemplos acima, declaramos uma variável no forloop para armazenar cada elemento da coleção em cada iteração.
 int num(3) = (1, 2, 3); // copy elements of num to var for (int var : num) ( // code )
No entanto, é melhor escrever o loop for baseado em alcance como este:
 // access memory location of elements of num for (int &var : num) ( // code )
Observe o uso de &before var. Aqui,
int var : num- Copia cada elemento de num para a variável var em cada iteração. Isso não é bom para a memória do computador.int &var : num- Não copia cada elemento de num para var. Em vez disso, acessa os elementos de num diretamente do próprio num. Isso é mais eficiente.
Observação: o &operador é conhecido como operador de referência. Aprenderemos mais sobre isso em ponteiros C ++.
 Trabalho de endereço apontando em C ++ variou para loop
Nota: Se não estivermos modificando a matriz / vetor / coleção dentro do loop, é melhor usar a constpalavra - chave na declaração de intervalo.
 // collection is not modified in the loop for (const int &var : num) ( // code )








