Xnechijli01

Freelancer

Xnechijli01 Freelancer

Declaración de variables en C++

Logotipo del Freelancer Xnechijli01

Freelancer Xnechijli01: Construimos tus sitios web con SEO onpage y SEO ofpage. Contáctanos pulsando esta imágen.

Declaración de variables

En este capítulo de este curso de C++ veremos el uso de variables.

Primero tenemos que mencionarte que C++ es un lenguaje fuertemente tipado y requiere que cada variable sea declarada con su tipo antes de su primer uso. Esto informa al compilador el tamaño que debe reservar en la memoria para la variable y cómo interpretar su valor. La sintaxis para declarar una nueva variable en C ++ es sencilla: simplemente escribimos el tipo seguido del nombre de la variable (es decir, su identificador). Por ejemplo:

int a;
float minumero;

Estas son dos declaraciones válidas de variables. El primero declara una variable de tipo int con el identificador a. El segundo declara una variable de tipo float con el identificador minumero . Una vez declaradas, las variables minumero se pueden usar dentro del resto de su alcance en el programa.

Si declara más de una variable del mismo tipo, todas se pueden declarar en una sola declaración separando sus identificadores con comas. Por ejemplo:

int a, b, c;

Esto declara tres variables ( a , b, c ), todas ellas de tipo int , y tiene exactamente el mismo significado que si escribieramos:

int a;
int b;
int c;

Para ver cómo se ven las declaraciones de variables en acción dentro de un programa, echemos un vistazo a todo el código C++ del ejemplo sobre la memoria mental propuesto al principio de este capítulo.

Ejemplo de código de variables

//Operaciones con variables
#include <iostream>
using namespace std;
int main () {
// Declarando variables:
int a, b;
int result;
// Proceso:
a = 5;
b = 2;
a = a + 1;
result = a - b;
// Impresión del resultado:
cout << result;
// Conclución del programa:
return 0;
}

No te preocupe si algo aparte a las declaraciones de variables en sí te parece un poco extraño. La mayor parte se explicará con más detalle en los próximos capítulos.

Inicialización de variables.

Cuando se declaran las variables en el ejemplo anterior, tienen un valor indeterminado hasta que se les asigna un valor por primera vez. Pero es posible que una variable tenga un valor específico desde el momento en que se declara. Esto se llama la inicialización de la variable. Inicializar variables en C++

Tres formas de declarar variables en C++

En C++ hay tres formas de inicializar variables. Todas ellas son equivalentes y evocan a la evolución del lenguaje de programación a lo largo de los años:

La primera, conocida como inicialización tipo c (porque se hereda del lenguaje C), consiste en agregar un signo igual seguido del valor al cual se inicializa la variable, como el ejemplo siguiente.

type identifier = initial_value;

Otro ejemplo. Para declarar una variable de tipo int llamada x e inicializarla a un valor de cero desde el mismo momento en que se declara, podemos escribir:

int x = 0;

Un segundo método, conocido como inicialización del constructor (introducido por el lenguaje C ++), incluye el valor inicial entre paréntesis ( () ):

type identifier (initial_value);

Siguiendo el ejemplo anterior, se puede usar esta estructura con el mismo resultado:

int x (0);

Finalmente, un tercer método, conocido como inicialización uniforme , similar al anterior, pero utilizando llaves ( {} ) en lugar de paréntesis (esto fue introducido por la revisión del estándar C++, en 2011):

type identifier {initial_value};

Siguiendo con la metodica del ejemplo anterior, quedaría así:

int x {0};

Las tres formas de inicializar variables son válidas y equivalentes en C++.

// Inicialización de variable:
#include <iostream>
using namespace std;
int main () {
int a=5;
// Valor inicial:
5 int b(3);
// Valor inicial:
3 int c{2};
// Valor inicial:
2 int result;
// Valor inicial indeterminado
a = a + b;
result = a - c;
cout << result;
return 0;
}

Tipo de deducción: auto y decltype

Cuando se inicializa una nueva variable, el compilador puede averiguar qué tipo de variable es automáticamente por inicializador. Para esto, es suficiente usar auto como el especificador de tipo para la variable:

int foo = 0;
auto bar = foo;
// Solo es un ejemplo:
int bar = foo;

Aquí, bar se declara como que tiene un tipo de auto ; por lo tanto, el tipo de bar es el tipo del valor usado para inicializarlo: en este caso usa el tipo de foo , que es int.

Las variables que no están inicializadas también pueden hacer uso de la deducción de tipo con el especificador decltype :

int foo = 0;
decltype (foo) bar;
// Esto es solo un ejemplo:
int bar;

Aquí, bar se declara que tiene el mismo tipo que foo .

Estos dos tipos, auto y decltype, son características poderosas recientemente agregadas al lenguaje. Pero las funciones de deducción de tipo que introducen están pensadas para ser utilizadas cuando el tipo no puede obtenerse por otros medios o cuando se busca mejora la legibilidad del código.

Los dos ejemplos anteriores probablemente no fueron ninguno de estos casos de uso. De hecho, probablemente disminuyeron la legibilidad, ya que, al leer el código, uno tiene que buscar el tipo de foo para saber realmente el tipo de bar.

Caricatura de un maestro explicando código de C++

El código de C++ es complejo, por eso requiere muchas horas de práctica.

Introducción a las cuerdas.

Los tipos fundamentales representan los tipos más básicos manejados por las máquinas donde se puede ejecutar el código. Pero una de las principales fortalezas del lenguaje C++ es su rico conjunto de tipos compuestos, de los cuales los tipos fundamentales son meros bloques de construcción.

Un ejemplo de tipo compuesto es la clase de string. Las variables de este tipo pueden almacenar secuencias de caracteres, como palabras u oraciones. ¡Una característica muy útil!

Una primera diferencia con los tipos de datos fundamentales es que para declarar y utilizar objetos (variables) de este tipo, el programa debe incluir el encabezado donde se define el tipo dentro de la biblioteca estándar (encabezado <string> ):

//Mi primer encabezado
#include <iostream>
#include <string>
using namespace std;
int main () {
string mistring;
mistring = "Este es un string" ;
cout << mistring;
return 0; }

Como puede ver en el ejemplo anterior, las cadenas se pueden inicializar con cualquier literal de cadena válida, al igual que las variables de tipo numérico se pueden inicializar con cualquier literal numérico válido. Al igual que con los tipos fundamentales, todos los formatos de inicialización son válidos con cadenas:

string mistring = "Esta es una cadena" ; string mistring ( "Esta es una cadena" ); string mistring { "Esta es una cadena" };

Forma de estructurar cadenas en C++

Las cadenas también pueden realizar todas las demás operaciones básicas que pueden realizar los tipos de datos fundamentales, como declararse sin un valor inicial y cambiar su valor durante la ejecución:

// mi primer cadena
#include <iostream>
#include <string>
using namespace std;
int main () {
string mistring;
mistring = "Este es el contenido inicial de una cadena";
cout << mistring << endl;
mistring = "Este es un contenido diferente de una cadena" ;
cout << mistring << endl;
return 0; }

Nota: al insertar el manipulador de extremo endl se imprime un carácter de nueva línea y se vacía la secuencia.

La clase de cadena es un tipo compuesto . Como puedes ver en el ejemplo anterior, los tipos compuestos se usan de la misma manera que los tipos fundamentales: la misma sintaxis se usa para declarar variables y para inicializarlas. Ahora pasaremos al siguiente cápitulo de nuestro curso c++.