What are the evaluation order guarantees introduced by C++17?
Some common cases where the evaluation order has so far been unspecified, are specified and valid with C++17. Some undefined behaviour is now instead unspecified. i = 1; f(i++, i) was undefined, but it is now unspecified. Specifically, what is not specified is the order in which each argument to f is evaluated relative to … Read more