En CPP o C++ existe la palabra clave “auto” al declarar variables, su uso permite al programador ahorrar la declaración del tipo en una variable.
Dicho de otra manera, “auto” permite la inicialización de variables sin especificar el tipo.
Auto en CPP
Para declarar una variable automática con la palabra auto, se hace esto:
auto edad = 2;
La declaración de arriba probablemente sería:
int edad = 2;
Pero como estamos indicando el tipo de dato en la declaración, el compilador sabe el tipo de dato, y lo infiere por nosotros.
En ocasiones a esto se le llama Duck Typing y no es muy recomendado, pero funciona. También sirve para otros tipos de datos como cadenas, flotantes, etcétera.
Si declaramos un tipo de dato e intentamos, por ejemplo, sumarlo con uno de distinto tipo, el compilador emitirá un error:
warning: adding ‘int’ to a string does not append to the string
Esto es debido a que CPP no es un lenguaje débilmente tipado, por lo tanto, aunque permite la inicialización de variables sin especificar el tipo, no soporta la operación entre datos de distintos tipos, al menos que sea genéricos.
#include <iostream>
int sumar(int a, int b) { return a + b; }
int main() {
auto edad = 20 + 1;
std::cout << "La edad: " << edad << "\n";
auto nombre = "Luis";
std::string apellidos = " Cabrera Benito";
auto nombreCompleto = nombre + apellidos;
std::cout << "Nombre completo: " << nombreCompleto << "\n";
auto resultado = sumar(1, 2);
std::cout << "La suma: " << resultado;
}
Como puedes observar en el código, “auto” también se puede usar como resultado de una llamada a una función.
Finalmente quiero mencionar que la palabra reservada a “auto” en C++ es el equivalente a asignar con :=
en Golang; por ejemplo:
edad := 20 + 1
El operador se parece al pico de un pato, es por eso que se le llama también “Duck typing” (o al menos así se cuenta).
Pingback: Recorrer vectores en C++ - Parzibyte's blog