We have this question very well answered What are the new features in C++17?
But I think this particular topic can be covered specially as it is complicated and such questions (about i = i++;
) still asked every day (though it is discouraged to do so by rules) so question is: what changed in C++17 related to "sequence points" (better name for this term?) and which particular expressions became valid in the new standard?
There is some information here Undefined behavior and sequence points but answer there was written before C++17 became new standard.