
It's certainly not to be done without understanding the ramifications. ...
But the same user will be equally unprepared to unspecified evaluation order in
A = get(), get(), get();
and in
A.assign_list(get())(get())(get()) ;
There's nothing specific about operator,();
Wouldn't A << get() << get() << get() ; always work the way the user expects, even when they switch all optimizations on? So wouldn't it be better for the initialization library to use operator<< instead of operator, ? (not sure if that is possible or not - I've not looked at that library). In answer to Andrei's original question I think b) not overloading operator,() is still a valid coding standard, because I personally don't know - and do not want to have to know - what a "sequence point" is. Darren