2010-06-15 111 views
-1

可能重复:
C++ Comma OperatorC++运算符 ''

什么是运营商的结果 '' 通过标准?最后的论点? 在这样的代码,例如:

int a = 0; 
int b = 1; 

while(a,b); 

或使用它像这是不允许的? MSVS结果是b,是真的吗?

遗憾的复制,也不知道该运营商在英文名为)

+2

重复http://stackoverflow.com/questions/54142/c-comma-operator – 2010-06-15 21:02:12

+0

@ChrisF:我发现你的推理很微弱。 – sbi 2010-06-15 21:39:46

回答

8

语句序列被执行,返回值是如何最后陈述的评价。

+2

这是一个陈述或表达? – 2010-06-15 21:28:11

+0

这并非总是如此。 – 2012-01-07 02:07:30

7

逗号运算符总是返回它的最后一个参数,除非运算符超载。

+1

+1表示“除非重载” – 2010-06-15 21:50:09

3

','运算符的结果是最后一个评估表达式,是的。

1

运算符,的结果是它的右侧操作数,即后面的子表达式,

运算符,是左关联的,这意味着如果您有几个操作数不带大括号的运算符链,那么链中的最后一个子表达式就是结果。