Ja, ich habe den Artikel auf sequence points gelesen. Ich konnte jedoch nicht verstehen, warum ++i = 2
undefiniertes Verhalten aufrufen würde? Der endgültige Wert von i
wäre 2 unabhängig von irgendetwas, also wie kommt der Ausdruck ub?Noch eine Frage zu den Sequenzpunkten
Code-Schnipsel
int main()
{
int i =0;
++i=2;
return 0;
}
Leider ist mein Englisch nicht sehr gut.
aber wie könnte das Ergebnis von 2 abweichen? Ich habe versucht, ein paar Online-und Offline-Compiler einschließlich gcc, msvC++, Intel C++. Ich habe nichts anderes als 2. – AMS
@AMS: Was ist, wenn das Programm auch Ihr ganzes Geld ausgegeben oder alle Ihre Passwörter an eine dritte Partei (http://stackoverflow.com/questions/908872/whats-the-worst-example-) of-undefined-Verhalten-eigentlich-möglich/3554343 # 3554343)? – sharptooth
Und das ist überhaupt kein Witz - ich ermutige Sie, dem Link tatsächlich zu folgen und die Antwort dahinter zu lesen. – sharptooth