me encontré con un fragmento de códigoconst reference se le puede asignar un int?
const int& reference_to_const_int = 20;
cout<<"\n reference_to_const_int = "<<reference_to_const_int<<endl;
Este código se compila & ejecutable en el entorno de salida: -
reference_to_const_int = 20
Esto es algo extraño en mi lugar. Como sé que la referencia no ocupa memoria & son alias a otras variables. por lo tanto, no podemos decir
int& reference_to_int = 30;
La declaración anterior no compilará que da un error: -
error: invalid initialization of non-const reference of type ‘int&’ from an rvalue of type ‘int’
Lo que está ocurriendo exactamente en el caso "const int &"? Se desea una explicación completa.
Amablemente ayuda.
Gracias
leyeron: http://herbsutter.com/2008/01/01/gotw-88-a-candidate-for-the-most-important-const/ –
dándole un poco más de pensamiento, parece que * tendría * que ser legal. Si no fuera así, nunca serías capaz de establecerlo sin crear más variables. –
@GigaWatt: ¿De qué está hablando? Créanme, si "es" * debería * ser legal, sería * sería *. :) –