Now that the new c++11 standard has made changes in how sequence points are described I'm trying to find out exactly what has been changed between c++03 and c++11.
In particular, are there any situations where code that looks the same would have a sequence point in c++11 but not c++03?
A sequence point defines any point in a computer program's execution at which it is guaranteed that all side effects of previous evaluations will have been performed, and no side effects from subsequent evaluations have yet been performed.
There are no sequence points in C++11, rather there are sequenced before and sequenced after relations.
Here are some trivial examples wherein behavior differ between C++03 and C++11
int x = 10;
++++x; // well defined in C++11
int x = 10;
x = ++x +1; //well defined in C++11
Why? Have a look at this answer and related threads.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With