Au

Auto em C++

1 exercício

Sobre Auto

A palavra-chave auto em C++

Em C++, a palavra-chave auto é uma funcionalidade poderosa introduzida no C++11, utilizada para declarar variáveis com um tipo de dados inferido. O compilador deduz o tipo da variável a partir do seu inicializador, o que pode tornar o código mais legível e mais fácil de manter.

Exemplo de utilização

Considera o seguinte exemplo, em que auto é usado para declarar variáveis:

auto dragon_population{3};          // dragon_population is deduced as an integer
auto westeros{7.7777};              // westeros is deduced as a double
auto wedding_location{"The Twins"}; // wedding_location is deduced as a const char*, not std::string

Em cada caso, o tipo da variável é inferido a partir do valor com que é inicializada.

Inferência de tipos

A palavra-chave auto ajuda a escrever código mais conciso e legível, reduzindo a verbosidade dos tipos explícitos.

const std::vector<std::string> pigeon_pie{"flour", "butter", "pigeon", "salt"};
auto purple_wedding_pie{pigeon_pie};
purple_wedding_pie.emplace_back("the strangler");

Neste exemplo, auto deduz que o tipo de purple_wedding_pie é std::vector<std::string>, evitando a necessidade de voltar a especificar o tipo explicitamente.

Compatibilidade

A palavra-chave auto é compatível com várias construções de C++, o que a torna uma ferramenta versátil na programação moderna em C++.

auto& element{array[0]};           // reference to an element
const auto object{otherObject};    // const type version of otherObject's type
auto* ptr{&x};                     // pointer to x with the same type as x, but as a pointer.

Em conceitos posteriores, vamos ver frequentemente a palavra-chave auto com expressões lambda, ciclos for baseados em intervalos e iteradores.

Casos de utilização

  • Programação genérica: a palavra-chave auto é especialmente útil em cenários de programação genérica, em que os tipos podem ser complexos ou estar relacionados com templates.
  • Tipos de dados complexos: ao lidar com tipos de dados complexos ou com nomes de tipos longos, auto pode reduzir o ruído visual e melhorar a facilidade de manutenção do código.
  • Algoritmos baseados em iteradores: simplifica a utilização de iteradores em algoritmos, melhorando a legibilidade do código.
Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Auto

A prática está bloqueada

Desbloqueia mais 1 exercício para praticares Auto