C++ Diário Loop for ranged-based

Episódio 003


cpp::daily Loop for ranged-based

O loop for ranged-based foi introduzido a partir do C++11 e tem um desempenho um pouco melhor . Nem sempre é um caso há ser utilizado, mas sempre que puder use! Para programadores de outras linguagens p loop for ranged-based pode ser comparado ao foreach .

Nesse cpp::daily de hoje vamos mostrar 5 exemplos que facilitarão sua compreensão para poder utilizá-los sempre que necessário!

01. Foreach style

for( int i : { 11, 2, 9, 17, 89, 12, 13, 52, 8, 4 } ){
  std::cout << i << '\n';
}

02. Com vectores e tipos automáticos

std::vector<int> vec = { 11, 2, 9, 17, 89, 12, 13, 52, 8, 4 };
for( auto &elem : vec ){
  std::cout << elem << '\n';
}


03. Quando passado para templates de função

#include <iostream>
#include <vector>

template <typename T>
void print( const T& coll ){
  for( auto &elem : coll ){
    std::cout << elem << ' ';
  }
  std::cout << '\n';
}

int main(){
  std::vector<int> vec = { 11, 2, 9, 17, 89, 12, 13, 52, 8, 4 };
  print( vec );
  return 0;
}

04. Range baseada em declarações de vectores

std::vector<int> vec = { 11, 2, 9, 17, 89, 12, 13, 52, 8, 4 };
for ( auto pos = vec.begin(); pos != vec.end(); ++pos) {
 std::cout << *pos << '\n'; 
}

05. Somando elementos em estilo foreach

int array[] = { 1, 2, 3 };
long sum = 0;
for ( int x : array ) {
 sum += x;
}

for ( auto elem : { sum, sum * 2, sum * 4 } ) {
  std::cout << elem << '\n';
}


Por hoje é só, são pequenas doses diárias que farão sempre nos manter antenado com o C++ !

Acompanhe o cpp::daily

Deseja aprender C++ e criar seus programas Gráficos e para Terminal com portabilidade para Linux e Windows?

Então se inscreva nos nossos Cursos de C++ Moderno . Você aprender criar:

Acesse o endereço:

https://terminalroot.com.br/cpp/ e saiba mais!


cppdaily


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!