C++ 和 ++ 运算符
C++ and ++ operators
所以我正在查看以下代码片段
int a = 3;
int b = 2;
b = a++;
cout << ++b;
我一行一行的理解是:
- 发起一个=3
- 启动 b = 2;
- 将(a+1)的值赋给b,所以b = 4;
- 打印b+1,即5。
然而这是错误的,有人可以简单地解释一下吗?我是 C++ 新手
给你:
- 发起一个=3
- 启动 b = 2;
- 将(a)的值赋给b,所以b=3,a自增4;
- 打印b+1,即4。
在声明中:
b = a++
a
被评估为分配给 b
和 在 之后 a
然后递增所以 a = a+1
.
另一方面:
b = ++a
增量 a
所以 a = a+1
before a
然后评估分配给 b
.
你可以在这里深究:
在 C++ 中,当在表达式中使用递增或递减时,“++”或“--”的位置很重要。
如果运算符在变量之前,则递增或递减将在表达式结束之前完成,在相反的情况下,递增或递减将在整个表达式执行后完成。
int b = ++a; // first add +1 to a, then assign a to b
int b = a++; // assign a to b, then add +1 to a
所以我正在查看以下代码片段
int a = 3;
int b = 2;
b = a++;
cout << ++b;
我一行一行的理解是:
- 发起一个=3
- 启动 b = 2;
- 将(a+1)的值赋给b,所以b = 4;
- 打印b+1,即5。
然而这是错误的,有人可以简单地解释一下吗?我是 C++ 新手
给你:
- 发起一个=3
- 启动 b = 2;
- 将(a)的值赋给b,所以b=3,a自增4;
- 打印b+1,即4。
在声明中:
b = a++
a
被评估为分配给 b
和 在 之后 a
然后递增所以 a = a+1
.
另一方面:
b = ++a
增量 a
所以 a = a+1
before a
然后评估分配给 b
.
你可以在这里深究:
在 C++ 中,当在表达式中使用递增或递减时,“++”或“--”的位置很重要。 如果运算符在变量之前,则递增或递减将在表达式结束之前完成,在相反的情况下,递增或递减将在整个表达式执行后完成。
int b = ++a; // first add +1 to a, then assign a to b
int b = a++; // assign a to b, then add +1 to a