Search code examples
c++c++11sequence-points

Are there any situations where code would have a sequence point in c++11 but not c++03?


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?


Solution

  • 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.