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.
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.
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.
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.
auto é especialmente útil em cenários de programação genérica, em que os tipos podem ser complexos ou estar relacionados com templates.auto pode reduzir o ruído visual e melhorar a facilidade de manutenção do código.