逗号运算符如何在C++中工作?
例如,如果我这样做:
a = b, c;
结局等于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
。
逗号运算符的优先级低于赋值的优先级。