Puede alguien explicar esta declaración de ISO N3242 § 3.2, segundo punto¿Alguien puede explicar este párrafo del borrador estándar actual de C++ 0x?
Una expresión es potencialmente evaluado a menos que sea un operando sin evaluar (cláusula 5) o una sub-expresión de los mismos. Una función variable o no sobrecargada cuyo nombre aparece como una expresión potencialmente evaluada es odr-used a menos que sea un objeto que cumpla los requisitos para aparecer en una expresión constante (5.19) y la conversión lvalue-a-rvalue (4.1) es inmediatamente aplicado. esto es odr-used si aparece como una expresión potencialmente evaluada (incluida como resultado de la transformación implícita en el cuerpo de una función miembro no estática (9.3.1)).
ISO Standard 2003: dice
Una expresión se evalúa potencialmente menos que aparezca cuando se requiere un integral expresión constante (ver 5.19), es el operando del operador sizeof (5,3 .3), o es el operando del operador typeid y la expresión no designa un lvalue del tipo de clase polimórfica (5.2.8). Se utiliza un objeto o una función no sobrecargada si su nombre aparece en una expresión potencialmente evaluada .
¿Cuál es la diferencia real en estas afirmaciones?
¿Alguien puede explicar esto con la ayuda de un ejemplo/programa?
@Andrea: no solo explicando ... pedí la diferencia/comparación ... para el antiguo uno nuevo – 1User
Traté de resumir la pregunta en el título, no dude en solucionarlo. –