Re: Method call args order
Re: Method call args order
- Subject: Re: Method call args order
- From: Jean-Daniel Dupas <email@hidden>
- Date: Mon, 25 Sep 2006 17:50:46 +0200
Is it always true for C language? Le 25 sept. 06 à 17:46, David A Rowland a écrit : At 4:12 PM +0100 9/25/06, Paul Walmsley wrote: I have problems with this function call:
int i=0; printf("Format %i, %i\n", i++, i++);
The order of evaluation of function arguments is undefined in C++, so there is no guarantee which of the i++ gets evaluated first. See Item 31 in Sutter & Alexandrescu's 'C++ coding standards'. This is exactly the example they give that is not guaranteed to work.
That is true also of expressions. The C++ Standard deals with that in section 5 and says "Except where noted, the order of evaluation of operands of individual operators and subexpressions of individual expressions, and the order in which side effects take place, is unspecified". The && and || operators do "short circuit" evaluation, left argument first. Other than that I think it is up to the compiler writer.
David
|
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden