From: Daryle Walker (darylew_at_[hidden])
Date: 2004-07-09 16:18:28
On 7/7/04 12:08 PM, "Andrei Alexandrescu (See Website for Email)"
> "David Abrahams" <dave_at_[hidden]> wrote in message
>> Well, it might.
>> But then, the user knows he's using the initialization library, and
>> operator, has a different meaning in that context, just like
>> operator<< means something else in the context of a Spirit gramar.
> I see. So I'd like to make a quick poll for Boosters: Overloading the comma
> operator in a way that could change order of evaluation of its arguments is:
> a) an obsolete coding standard
> b) a valid coding standard
> c) a valid coding standard, but for reasons x, y, and z, the initialization
> library doesn't violate it/violates it but gets away with it/etc.
I don't understand what the extra descriptions in [c] mean. How does [c]
differ from [b]?
Also, the initial question is badly formed. It implies that there is a
method of overloading the comma operator _without_ making argument
evaluation order arbitrary. There isn't. (It's either using the built-in
operator in list order, or an user-defined version in arbitrary order.)
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk