shi*_*a99 -8 c++ compiler-errors syntax-error
#include <iostream.h>
int main()
{
int a = 2;
int b = 3;
a++ += b;
std::cout << a;
}
Run Code Online (Sandbox Code Playgroud)
我对此的理解是,这个表达式首先评估a + b,将该值存储在a中然后递增它.这里发生了什么?
这是一个错误1:
a++ += b
Run Code Online (Sandbox Code Playgroud)
因为a++返回临时(pr值)语言禁止修改,因为一旦评估完整表达式就将其丢弃.这是一种故障安全.
我对此的理解是,这个表达式首先评估a + b,将该值存储在a中然后递增它.
不,不.根据运算符优先级,先++评估+=.
1)这个答案假定a并且b是内置类型或行为良好的用户定义类类型.
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |