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.
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).
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios