2011-03-22 15 views
11

n3035 dice: (2010-02-16)puede alguien explicar la diferencia

Una variable se introduce por la declaración de un objeto. El nombre de la variable denota el objeto.

n3090 dice: (2010-03-29)

Una variable se introduce por la declaración de una referencia que no sea un miembro de datos no estática o de un objeto. El nombre de la variable denota la referencia u objeto .

n3242 dice: (2011-02-28)

Una variable se introduce por la declaración de una referencia que no sea un miembro de datos no estática o de un objeto. El nombre de la variable denota la referencia u objeto .

Puede alguien explicar la diferencia interms (o) con la ayuda de un programa (exactamente lo que se dice)

Esta es la declaración de la norma ISO C++

he visto este enlace:

Why was the definition of a variable changed during the development of C++11?

pero esto no (significado completo) mi pregunta es ...

+1

¿Hay alguna diferencia entre n3090 y n3242? ¿Por qué anotas el más antiguo (n3035) en el medio? – fredoverflow

+0

reorganizado para que estén en orden con las fechas de publicación. –

+1

¡Disculpa, olvidaste la lista n3035! –

Respuesta

7

Considere:

int x = 42; 
int& rx = x; 

x es una variable; ¿Debería considerarse rx una variable? Muchos de los requisitos de Standard sobre variables que no son de referencia también se aplican a las referencias. Obviamente, es un fastidio tener que estipular "variables o referencias a variables" constantemente a lo largo del Estándar, por lo que si la definición de una variable puede incluir referencias, quizás con el ocasional "a excepción de referencias", entonces el Estándar puede ser - en balance - simplificado. Me parece que las revisiones exploraron este equilibrio.

6

Este fue un CWG defect #633 in ISO C++03

También puedes ver n2993 que se ocupa de core issue# 633 es decir "Especificaciones para las variables que deben aplicarse también a las referencias"

El objetivo de estos cambios es ampliar el significado de "variable" para abarcar tanto los objetos nombrados como las referencias, y aplicar el término siempre que sea posible.

+2

agradable explicar la diferencia en términos de programa ....de lo contrario, explique la declaración n3242 ... en modo de programación ... – 1User

Cuestiones relacionadas