什么是右结合运算符
在C/C++和Java中,存在一些operator是右结合的,如+=
a+=b+=c; //等同a+=(b+=c);
右结合运算符即该运算符首先会计算其右侧运算对象的值
结合性
结合性即运算符首先运算其哪一侧的运算对象
对于C、C++
请注意除了少数几个运算符如逗号运算符,
、&&等会有标准规定运算顺序,其他运算符并没有明确规定求职顺序!不要对任何operator的求值顺序做出假设。
例:
int p[]={1,2,3};
int iter=0;
p[iter] = p[iter++]; //这里不确定首先计算p[iter]还是先计算p[iter++]
/*等号的求值顺序没有强制规定,上面的语句在不同平台可能结果不同!*/