Diferencia entre puntero y referencia

Autor: Laura McKinney
Fecha De Creación: 1 Abril 2021
Fecha De Actualización: 1 Mes De Julio 2024
Anonim
Bloque 4.4: Punteros y Paso por Referencia.
Video: Bloque 4.4: Punteros y Paso por Referencia.

Contenido


El "puntero" y la "referencia" se utilizan para señalar o referir otra variable. Pero, la diferencia básica entre ambos es que una variable de puntero apunta a una variable cuya ubicación de memoria está almacenada en ella. La variable de referencia es un alias para una variable que se le asigna. La tabla de comparación a continuación explora las otras diferencias entre un puntero y una referencia.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónPunteroReferencia
BASICEl puntero es la dirección de memoria de una variable.La referencia es un alias para una variable.
DevolucionesLa variable de puntero devuelve el valor ubicado en la dirección almacenada en la variable de puntero precedida por el signo de puntero *.La variable de referencia devuelve la dirección de la variable precedida por el signo de referencia &.
Operadores *, ->&
Referencia nulaLa variable de puntero puede referirse a NULL.La variable de referencia nunca puede referirse a NULL.
Inicialización Se puede crear un puntero no inicializado.Nunca se puede crear una referencia no inicializada.
Tiempo de inicializaciónLa variable de puntero se puede inicializar en cualquier momento del programa.La variable de referencia solo se puede inicializar en el momento de su creación.
ReinicializaciónLa variable de puntero se puede reiniciar tantas veces como sea necesario.La variable de referencia nunca puede reinicializarse nuevamente en el programa.


Definición de puntero

Un "puntero" es una variable que contiene la ubicación de la memoria de otra variable. Los operadores utilizados por la variable puntero son * y ->. La declaración de la variable de puntero contiene el tipo de datos base seguido del signo "*" y el nombre de la variable.

escriba * var_name;

Vamos a entender puntero con la ayuda de un ejemplo.

int a = 4; int * ptr = & a; cout <mientras que el operador de referencia es &.

  • Una variable de puntero si no lleva la dirección de ninguna variable apunta a nulo. Por otro lado, una variable de referencia nunca puede referirse a Null.
  • Siempre puede crear una variable de puntero unitializada, pero creamos una referencia cuando necesitamos un alias de alguna variable para que nunca pueda crear una referencia unitializada.
  • Puede reinicializar un puntero, pero una vez que inicializa una transferencia no puede reiniciarla nuevamente.
  • Puede crear un puntero vacío e inicializarlo en cualquier momento, pero debe inicializar la referencia solo cuando crea una referencia.
  • Nota:


    Java no admite punteros.

    Conclusión

    El puntero y la referencia se usan para señalar o referir otra variable. Pero ambos difieren en su uso e implementación.