Sì, ho letto l'articolo su sequence points. Tuttavia non riuscivo a capire perché ++i = 2
invocasse un comportamento indefinito? Il valore finale di i
sarebbe 2 indipendentemente da qualsiasi cosa, quindi come mai l'espressione è ub?Ancora un'altra domanda relativa ai punti di sequenza
frammento di codice
int main()
{
int i =0;
++i=2;
return 0;
}
dispiace il mio inglese non è molto buono.
ma come potrebbe il risultato essere diverso da 2? Ho provato alcuni compilatori online e offline tra cui gcc, msvC++, intel C++. non ho ottenuto nulla di diverso da 2. – AMS
@AMS: Che cosa succede se il programma ha speso tutti i tuoi soldi o ha inviato tutte le tue password a terzi (http://stackoverflow.com/questions/908872/whats-the-worst-example- di-undefined-comportamento-realtà-possibile/3554343 # 3554343)? – sharptooth
E questo non è affatto uno scherzo - ti incoraggio a seguire effettivamente il link e leggere la risposta dietro di esso. – sharptooth