Referencias de C++
Una variable de referencia es un alias, es decir, otro nombre para una variable ya existente. Una vez que se inicializa una referencia con una variable, se puede usar el nombre de la variable o el nombre de la referencia para hacer referencia a la variable.
Referencias frente a punteros
Las referencias a menudo se confunden con los punteros, pero hay tres diferencias principales entre las referencias y los punteros:−
-
No puede tener referencias NULL. Siempre debe poder asumir que una referencia está conectada a una pieza de almacenamiento legítima.
-
Una vez que se inicializa una referencia a un objeto, no se puede cambiar para hacer referencia a otro objeto. Los punteros se pueden apuntar a otro objeto en cualquier momento.
-
Una referencia debe inicializarse cuando se crea. Los punteros se pueden inicializar en cualquier momento.
Creación de referencias en C++
Piense en el nombre de una variable como una etiqueta adjunta a la ubicación de la variable en la memoria. Luego puede pensar en una referencia como una segunda etiqueta adjunta a esa ubicación de memoria. Por lo tanto, puede acceder al contenido de la variable a través del nombre de la variable original o de la referencia. Por ejemplo, supongamos que tenemos el siguiente ejemplo −
int i = 17;
Podemos declarar variables de referencia para i de la siguiente manera.
int& r = i;
Lea el &en estas declaraciones como referencia . Por lo tanto, lea la primera declaración como "r es una referencia de número entero inicializada en i" y lea la segunda declaración como "s es una referencia doble inicializada en d". El siguiente ejemplo hace uso de referencias en int y double −
Demostración en vivo#include <iostream> using namespace std; int main () { // declare simple variables int i; double d; // declare reference variables int& r = i; double& s = d; i = 5; cout << "Value of i : " << i << endl; cout << "Value of i reference : " << r << endl; d = 11.7; cout << "Value of d : " << d << endl; cout << "Value of d reference : " << s << endl; return 0; }
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −
Value of i : 5 Value of i reference : 5 Value of d : 11.7 Value of d reference : 11.7
Las referencias generalmente se usan para listas de argumentos de funciones y valores de retorno de funciones. Así que a continuación hay dos temas importantes relacionados con las referencias de C++ que deberían ser claros para un programador de C++ −
Sr.No | Concepto y descripción |
---|---|
1 | Referencias como parámetros C++ admite el paso de referencias como parámetro de función de forma más segura que los parámetros. |
2 | Referencia como valor de retorno Puede devolver una referencia desde una función de C++ como cualquier otro tipo de datos. |
Lenguaje C