...

/

Expression Evaluation Order

Expression Evaluation Order

Let's take a look at how C++ 14 and C++ 17 address Expression Evaluation

Expression Evaluation: C++ Older Version

Until C++17 the language hasn’t specified any evaluation order for function parameters. Period.

For example, that’s why in C++14 make_unique is not just syntactic sugar, but it guarantees memory safety.

Let’s have a look at the following example:

foo(unique_ptr<T>(new T), otherFunction()); // first case

And without explicit new ...