From 7952264900423326962
X-Google-Thread: f78e5,174aa7b34b06a51
X-Google-Attributes: gidf78e5,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: g2news1.google.com!news1.google.com!proxad.net!134.158.69.22.MISMATCH!in2p3.fr!kanaga.switch.ch!switch.ch!news-fra1.dfn.de!newsfeed.hanau.net!newsfeed.vmunix.org!peer-uk.news.demon.net!kibo.news.demon.net!news.demon.co.uk!demon!stump.algebra.com!devnull
From: hyrosen@mail.com (Hyman Rosen)
Newsgroups: comp.std.c++
Subject: Re: Is this really unspecified behavior?
Date: Tue, 20 Dec 2005 15:47:39 GMT
Lines: 42
Sender: mail2news@demon.net
Approved: fjh@cs.mu.oz.au (Fergus Henderson , moderator of comp.std.c++)
Message-ID: <E1EohcV-0003Ep-00@chx400.switch.ch>
References: <1132759176.368850.264850@g43g2000cwa.googlegroups.com>
 <H1phf.161529$zb5.99785@bgtnsc04-news.ops.worldnet.att.net>
 <1132933832.802917.153350@g14g2000cwa.googlegroups.com>
 <1133551647.532929.325730@z14g2000cwz.googlegroups.com>
 <1133583412.951239.208510@g49g2000cwa.googlegroups.com>
 <E1EjGBD-0005T8-00@chx400.switch.ch>
 <1133910546.716987.80030@g14g2000cwa.googlegroups.com>
 <E1EjzL6-0006ic-00@chx400.switch.ch>
 <0l5ep1ppfhdj5p1pcu7e4na4ub0vjajlq3@4ax.com>
 <"200512131507.jBDF72uC0 <IrIz47.GnJ"@beaver.cs.washington.edu>
 <uzmn23zsm.fsf@boost-consulting.com>
 <200512161412.jBGECcuC061966@horus.isnic.is>
 <OmApf.314173$zb5.26331@bgtnsc04-news.ops.worldnet.att.net>
NNTP-Posting-Host: news.news.demon.net
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Trace: news.demon.co.uk 1135093667 3303 158.152.254.254 (20 Dec 2005 15:47:47 GMT)
X-Complaints-To: abuse@demon.net
NNTP-Posting-Date: Tue, 20 Dec 2005 15:47:47 +0000 (UTC)
X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov)
X-User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
X-Virus-Scanned: amavisd-new at cs.mu.OZ.AU
X-Received: (from fjh@localhost)
	by mulga.cs.mu.OZ.AU (8.12.10+Sun/8.12.9/Submit) id jBKFldLM000384;
	Wed, 21 Dec 2005 02:47:39 +1100 (EST)
X-Path: comp-std-cpp-robomod!not-for-mail
X-Delivered-To: std-c++@ucar.edu
X-Authentication-Warning: mulga.cs.mu.OZ.AU: fjh set sender to devnull@stump.algebra.com using -f
X-Newsgroups: comp.std.c++
Xref: g2news1.google.com comp.std.c++:2861

Andrew Koenig wrote:
> That would certainly be nice.  However, defining order of evaluation is 
> neither necessary nor sufficient to guarantee that behavior.
> 
> What it seems to me would be necessary is a guarantee that each argument be 
> evaluated completely, and the corresponding parameter constructed, before 
> moving on to the next argument.

Yes, I know. But this is a long and repetitious thread,
and it's tiresome to have to say it each time. I'm using
"defined order" as a shorthand. As you say, it means
evaluating expressions in a defined order, having side
effects happen as soon as they're evaluated, and binding
arguments to parameters as they're evaluated.

 > The arguments (and corresponding parameters) could,
 > it seems to me, be evaluated in any order.

Only if the goal was fixing the f(auto, auto) problem and
nothing else. But that's not the main goal, that's a side
effect of achieving the main goal. The main goal is to make
C++ expression evaluation a fully deterministic and defined
process so that code is maximally portable and unambiguous,
because there is no value in leaving some programming language
semantics unspecified.

In fact, just look at your first paragraph above. Clearly,
decades of exposure to C and C++ have warped and deformed
your brain to such an extent that when you look at a plain
old function call, you instead see a quantum haze of alternate
universes reflecting all the different orders of evaluation
which can exist until the compiler collapses the state into a
single possibilty :-)

Wouldn't it be nice if you could save other people from that?

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]



