逗号运算符在 C++ 中如何工作?
例如,如果我这样做:
a = b, c;
a最终等于b还是c?
(是的,我知道这很容易测试 - 只需在此处记录以供某人快速找到答案。)
更新: 这个问题暴露了使用逗号运算符时的细微差别。只是为了记录这一点:
a = b, c; // a is set to the value of b! a = (b, c); // a is set to the value of c!
这个问题实际上是受到代码中的错字的启发。本来打算是什么
a = b; c = d;
转换成
a = b, // <- Note comma typo! c = d;
这将等于b。
b
逗号运算符的优先级低于赋值。