Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Intermediate
Jun 28, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

The Order of Evaluation of Function Arguments

The order of evaluation of function arguments is unspecified. This means that for a function that takes the arguments (a, b, c), any permutation of this set is a valid argument evaluation sequence. To demonstrate that, you could write a function f() and call it like this:

  bool  x; //global
  f( g(false), 1, x, 3);

Suppose that g(false) changes the value of x. You cannot tell which value of x is passed to f() as its third argument--it could be either the value of x before or after the call to g(false). Therefore, you should avoid writing code that relies on a specific evaluation order of function arguments, as it is bad programming practice.

Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date