Java和C++中的逗号操作符

来源:互联网 发布:一元抽奖软件 编辑:程序博客网 时间:2024/05/05 17:30

Java和C++中都有逗号操作符,但是他们的用法差异很大。

Java中的逗号操作符只允许出现在函数的参数列表或者for循环的控制语句中或者定义多个变量,其他地方都不能使用。

而C++中的逗号操作符的定义是顺序执行逗号操作符分隔的各个语句,返回值为最后一条语句的返回值,使用范围不限。

这样我们可以在C++中这样使用逗号操作符:

int a = (1,2); == 2
int b = a++,a++,a++;

return a++,b;

pow((1,2),3) == pow(2,3);

而这些在Java中都是不被允许的。

另外,关于三元操作符 ?:

在C++中可以不需要左值,完全等价于ifelse,也就是 condition? exp1 : exp2 会根据条件执行exp1或exp2

但是在Java中,必须有左值来接受三元操作符的返回值,这就使得exp1或exp2有兼容的返回类型,而不能是一个void的函数语句。

直接点,在java中 1; 是一个非法语句,而在C++中是合法的。而 ;  在java中是合法的,而在C++中同样合法。、

 

转自:http://hi.baidu.com/sxch/blog/item/7271c20398b44af908fa9396.html

原创粉丝点击