- C++ 允许使用赋值运算符作为条件
if(i = j)
此时,if
语句的条件部分把 j
的值赋给 i
,然后检查赋值的结果是否为真
- 如果
j
不为0
,条件将为真 - 反之为假
注意与if(i == j)
区分
- 赋值运算满足右结合律
int ival, jval;
ival = jval = 0 // 正确:都被赋值为 0.
赋值运算符满足右结合律,所以靠右的赋值运算 jval = 0
作为靠左的赋值运算符的右侧运算对象。
又因为赋值运算返回的是其左侧运算对象,所以靠右的赋值运算的结果(即 jval
)被赋给了 ival
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)