La comprensión de la referencia (&) responde a esta pregunta ..
de referencia es sólo un alias a la variable que se asigna a ella ..
Y const es una restricción impuesta por el compilador a la variable que se declara como const
int x = 1000;
const int &r = x;
En este caso, es una referencia constante a una variable no const. Lo que no puede cambiar los datos de x con la variable de referencia r (solo actúa sólo lectura) .. sin embargo, usted puede cambiar los datos x modificando x
const int z = 3000;
int &t = z
En este caso, la referencia no const al método constante, que no tiene sentido. Usted está diciendo que la referencia puede permitirle editar un miembro constante (lo cual nunca es posible).
lo tanto, si desea crear una referencia para un método constante, tiene que ser como el primer caso que ha mencionado
const int z = 3000;
const int &t = z;
En particular, el valor de 'R' puede cambiar, a pesar de que se declara 'const'. – avakar
Normalmente, los compiladores implementan la referencia con un simple puntero. –
@quant_dev Dado el ejemplo de OP, el código fuente que menciona 'x' y el código fuente que menciona' r' se compilan en un código máquina idéntico. No hay indicadores involucrados (en todos los compiladores que he visto). No es que sea relevante de todos modos. – Cubbi