Sí, leí el artículo en sequence points. Sin embargo, no pude entender por qué ++i = 2
invocaría un comportamiento indefinido? El valor final de i
sería 2 sin importar nada, entonces ¿cómo es que la expresión es ub?Otra pregunta más relacionada con los puntos de secuencia
fragmento de código
int main()
{
int i =0;
++i=2;
return 0;
}
Lo siento mi Inglés no es muy buena.
pero ¿cómo podría el resultado ser diferente de 2? Probé algunos compiladores en línea y fuera de línea, incluidos gcc, msvC++, intel C++. no recibí nada diferente de 2. – AMS
@AMS: ¿Qué pasa si el programa también gastó todo su dinero o envió todas sus contraseñas a un tercero (http://stackoverflow.com/questions/908872/whats-the-worst-example- of-undefined-behavior-actually-possible/3554343 # 3554343)? – sharptooth
Y eso no es una broma en absoluto: lo aliento a que realmente siga el enlace y lea la respuesta detrás de él. – sharptooth