Referencias a referencias

febrero 11, 2010

¿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;

(más…)

0

do … while (0)

febrero 10, 2010
Tags: , ,

¿Alguna vez has visto una sentencia como la del título y te has preguntado para qué sirve?
Tal construcción tiene básicamente dos usos, y curiosamente ambos están bastante mal vistos en C++: macros y gotos.
(más…)

0

Referencias

febrero 9, 2010
Tags:

Hay quien considera que las referencias de C++ no son más que punteros constantes, que se des-referencian automáticamente. Según esto estos códigos son prácticamente equivalentes:
Con referencia:

int x = 1;
int &r = x;
r = 2;
std::cout < < r << std::endl;

(más…)

2

L-valores y R-valores

febrero 8, 2010

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;

(más…)

0

C++0x

febrero 2, 2010

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.

0