An overloaded comma operator can never have the same short-circuit semantics as the original.
An overloaded comma operator can never have the same short-circuit semantics as the original.
class box { public: box (int v) : val(v) { } int value () { return val; } int operator , (box & right)
{ return right.value(); } private: int val;};