C++ Fundamentos Básico
Variáveis e auto
Em C++, toda variável tem um tipo que define o que ela pode armazenar e quais operações são permitidas. Os tipos fundamentais incluem int, double, char, bool e suas variações. A palavra-chave auto permite que o compilador deduza o tipo a partir do valor inicial, tornando o código mais conciso e menos propenso a erros.
A inicialização com chaves ({}) é a forma recomendada de inicializar variáveis, pois evita conversões implícitas perigosas (narrowing) e inicializa consistentemente qualquer tipo. Também é possível usar const para declarar variáveis cujo valor não pode ser alterado após a inicialização, garantindo segurança e expressando intenção.
Combinar auto com const e inicialização com chaves é uma prática moderna e segura. Por exemplo, const auto pi = 3.14159; cria uma constante de tipo double deduzido, e auto x{42}; inicializa um int sem ambiguidades. Evite a inicialização com = quando quiser evitar conversões implícitas, e prefira {} sempre que possível.
Pontos-chave
- Use
autopara deduzir o tipo a partir do inicializador, mas sempre inicialize a variável. - Prefira inicialização com chaves
{}para evitar conversões implícitas que perdem dados (narrowing). consttorna a variável imutável após a inicialização; combine comautopara constantes deduzidas.- Tipos fundamentais como
int,double,charebooltêm tamanhos e comportamentos definidos pela implementação, masautoajuda a evitar suposições.
#include <iostream>
int main() {
// Tipos fundamentais
int idade = 30;
double altura = 1.75;
char inicial = 'A';
bool ativo = true;
// auto deduz o tipo do inicializador
auto peso = 70.5; // double
auto letra = 'B'; // char
auto ligado = false; // bool
// Inicialização com chaves (evita narrowing)
int ano{2025};
// int erro{2025.5}; // erro: narrowing conversion
// const: valor imutável
const auto pi = 3.14159;
const int dias{7};
std::cout << "Idade: " << idade << "\n";
std::cout << "Altura: " << altura << "\n";
std::cout << "Inicial: " << inicial << "\n";
std::cout << "Ativo: " << ativo << "\n";
std::cout << "Peso: " << peso << "\n";
std::cout << "Letra: " << letra << "\n";
std::cout << "Ligado: " << ligado << "\n";
std::cout << "Ano: " << ano << "\n";
std::cout << "Pi: " << pi << "\n";
std::cout << "Dias: " << dias << "\n";
return 0;
}