Reputation: 2724
see simple example:
int a = 0;
int b = (a ++ , a + 1); // result of b is UB or well defined ? (c++03).
This was changed in c++11/c++14 ?
Upvotes: 22
Views: 1213
Reputation: 791869
The result is well defined and has been since C++98. The comma operator introduces a sequence point (or a "sequenced before" relationship in later C++s) between the the write and the second read of a
and I don't see any other potential reasons for undefined behavior.
Upvotes: 29