A linguagem de programação C ++ baseado em alcance para loop é um recurso relativamente recente que foi introduzido pela primeira vez em C ++ 11. Baseado em alcance para loops executar um loop sobre o alcance. Eles trabalham com qualquer contêiner que tenha um iterador, incluindo matrizes, vetores, mapas, conjuntos e até tipos definidos pelo usuário que implementam as operações necessárias.
Sintaxe de alcance para loop
A baseado em alcance para loop tem uma sintaxe muito direta. É composto pela variável loop, o recipiente ou alcance para iterar e um cólon.
Para (Range_Declaration: Range_expression), declaração de loop
range_declaration: Declaração de faixa é a declaração de uma variável com o mesmo tipo que os elementos da expressão de componentes de alcance. Para determinar automaticamente o tipo de componentes em um range_expression, A palavra -chave automática é frequentemente usada.
range_expression: Toda expressão que representa uma lista de elementos é um range_expression.
Declaração de loop: O corpo de A for Loop consiste em uma ou mais declarações que devem ser repetidas até o final da Range_expression.
Métodos para executar range baseado em loop
Existem três métodos que podem ser usados para baseado em alcance para loop.
Método 1: Usando matrizes
Baseado em alcance para loop pode ser executado usando matrizes como esta.
#incluir
usando namespace std;
int main ()
int numArray [] = 6, 7, 8, 9, 10;
para (int n: numArray)
cout << n << " ";
retornar 0;
No código acima, uma matriz inteira chamada numArray foi inicializada. Então os elementos do numArray foram impressos usando um baseado em alcance para loop.
Saída
Método 2: Usando vetores
Baseado em alcance para loop pode ser executado usando vetores como este.
#incluir
#incluir
usando namespace std;
int main ()
int x;
vetorv = 1, 2, 3, 4, 5;
para (int x: v)
cout << x << " ";
retornar 0;
No código acima, um vetor chamado v foi inicializado. Aqui, os elementos do vetor V foram impressos usando um baseado em alcance para loop.
Saída
Método 3: Declare a coleta dentro do loop
Baseado em alcance para loop também pode ser declarado dentro do loop. Opera de maneira semelhante à como uma matriz ou vetor real faria.
#incluir
usando namespace std;
int main ()
para (int n: 5, 10, 15, 20, 25)
cout << n << " ";
retornar 0;
No código acima, a coleção é declarada dentro do próprio loop e depois impresso.
Saída
Vantagens e desvantagens do alcance baseadas em loop
Baseado em alcance para loop tem mais benefícios do que convencionais para Loops de várias maneiras, principalmente ao trabalhar com contêineres. Como a variável de loop é definida dentro do loop e o intervalo é explicitamente declarado, torna o código muito mais curto e mais fácil de compreender. Eles também são mais seguros, pois não há necessidade de se preocupar com erros fora por um ou outros erros de indexação. Eles são mais adaptáveis, pois podem usar qualquer contêiner, independentemente de seu tipo ou tamanho. O baseado em alcance para loop tem vários benefícios, um dos quais é que ele torna nosso código mais limpo e simples de entender.
Baseado em alcance para loops tem certas restrições, embora. Como a variável de loop é uma cópia ou uma referência ao elemento e não ao elemento real, ela não pode ser usada para alterar os elementos do contêiner. Como o alcance completo é constantemente iterado, não podemos pular nenhum elementos ou iterar apenas uma parte dos dados.
Conclusão
Baseado em alcance para loop é uma característica poderosa e versátil da linguagem de programação C ++. Em comparação com os loops convencionais, eles oferecem segurança e flexibilidade aprimoradas, juntamente com uma abordagem clara e legível para iterar através de recipientes e reduzir o código. Baseado em alcance para loop é uma obrigação para aprender para programadores C ++.