Referencias a referencias
¿Es posible en C++ declarar una referencia a referencia? Y si se puede, ¿qué significa?
A primera vista parece que no se puede, el siguiente código provoca un error de sintaxis:
1 2 | int x; int & & t; |
¿Es posible en C++ declarar una referencia a referencia? Y si se puede, ¿qué significa?
A primera vista parece que no se puede, el siguiente código provoca un error de sintaxis:
1 2 | int x; int & & t; |
error: se requiere un l-valor como operando izquierdo de la asignación
Si has visto alguna vez este error quizás que hayas preguntado qué es exactamente un L-valor y para qué sirve. Es curioso que se puede programar durante muchos años en C++ (o en C, de donde se hereda este concepto) sin tener que preocuparse ni una sola vez por el significado de este mensaje de error. Basta con observar la línea fuente con detenimiento y el error resulta obvio:
int x; &x = 1;
Se llama informalmente C++0x a la inminente versión del lenguaje C++.
El 0x no tiene nada que ver con hexadecimal, sino que se debe a la costumbre de referirse a los estándares de lenguajes de programación por los dos últimos dígitos del año en el que se publica, y se prevé que este se publique antes de final de 2009, o sea, en el año 0x …
Bueno… las cosas de palacio van despacio, quizás se termine finales de 2010.
Esta nueva versión de C++ trae muchas y emocionantes novedades, que, aunque se enumeran en varias páginas de Internet (casi todas en inglés), no suelen explicarse como es debido, y casi nunca incluyen usos prácticos.
Y eso es lo que yo pretendo: hacer C++0x fácil, divertido y asequible.