Tipado automático (auto)

Introducción

La palabra clave auto en C++11 permite que el compilador deduzca el tipo de una variable a partir de su inicializador. Esta característica simplifica el código al reducir la redundancia y es especialmente útil al trabajar con tipos complejos.

Uso

Ejemplo básico:

auto x = 5;              // x es de tipo int
auto y = 3.14;           // y es de tipo double
auto z = "Hola Mundo";   // z es de tipo const char*

Con tipos complejos:

std::vector<int> numeros = {1, 2, 3, 4, 5};
auto it = numeros.begin(); // it es de tipo std::vector<int>::iterator

Beneficios:

Notas importantes:

Inicialización uniforme

Introducción

C++11 introdujo una nueva sintaxis para inicializar variables usando llaves {}. Esto se conoce como inicialización uniforme y tiene como objetivo proporcionar una forma consistente de inicializar objetos.

Sintaxis

int x{5};           // Inicialización directa
int y = {6};        // Inicialización por copia
std::vector<int> vec{1, 2, 3}; // Inicialización con una lista