Declaración de Variable con const y de referencia
Pregunta
Estoy confundido acerca de las declaraciones de variables con referencias.He leído algunas páginas y que me hizo más confuso, así que prefirió pedir aquí.
Me pidieron 4 preguntas en C++ de la entrevista;que uno de ellos está mal y por qué?
(1) int & n;
(2) const int & n=15;
(3) float x; const int & n =x;
Alguien podría, por favor explicar que en la incorrecta y por qué?
Solución
tl;dr Referencias deben ser inicializadas en la declaración (ya sea directamente o en la clase de inicialización).
int& n;
Esto deja a la referencia n
no inicializado.Las referencias deben ser inicializadas en la declaración.
const int& n = 15;
Nada malo aquí.La referencia a un const int
es inicializado a 15
.
float x; const int& n = x;
El float
está bien, pero es una mala idea para ser de izquierda no inicializado.La referencia n
se empieza a x
(float/integral conversiones de pago), no es una gran idea.
Otros consejos
Siempre se debe inicializar una referencia.