C++ i+=1 i=i+1 的快捷方式?
C++ i+=1 shortcut to i=i+1?
我在下面设置了一个程序。
for (int i = 0; i <= 10; i += 1) {
cout << "+= " << i << endl;
}
cout << endl;
for (int i = 0; i <= 10; i = i + 1) {
cout << "+ " << i << endl;
}
我假设 += 1 是 i = i + 1 的快捷方式,因为我不能这样做
(i = 0; i <= 10; i + 1),它只需要 i,它是零,然后加上一个 1,它的总和仅为 1。在循环过程中它实际上并没有对 i 做任何事情。
很抱歉,如果我只是回答了我自己的问题,我可能已经回答了,但我在其他地方找不到答案,我只是想确定一下。
TL:DR 是的,你所有的假设基本上都是正确的。
i += 1
取 i
加 1
++i
做同样的事情
i + 1
做同样的事情,但不会再次将结果存储在 i
中,因此它不会有用。
提示:i *= 2
会加倍 i
是的,i += 1
是 i=i+1
的快捷方式。但是,如果要将i
的值加1,建议使用预自增运算符++i
或post-自增运算符i++
。这些增量运算符自动将变量的值增加 1。
示例代码:
for (int i = 0; i <= 10; ++i)
+=
运算符一般用于将两个变量相加,如
i += j;
以上表达式的计算结果为
i = i + j;
同理,其他运算符也可以和=
符号一起使用,比如
i /= j;
计算结果为 i = i / j;
i -= j;
的计算结果为 i = i - j;
i *= j;
的计算结果为 i = i * j;
以此类推
我在下面设置了一个程序。
for (int i = 0; i <= 10; i += 1) {
cout << "+= " << i << endl;
}
cout << endl;
for (int i = 0; i <= 10; i = i + 1) {
cout << "+ " << i << endl;
}
我假设 += 1 是 i = i + 1 的快捷方式,因为我不能这样做 (i = 0; i <= 10; i + 1),它只需要 i,它是零,然后加上一个 1,它的总和仅为 1。在循环过程中它实际上并没有对 i 做任何事情。
很抱歉,如果我只是回答了我自己的问题,我可能已经回答了,但我在其他地方找不到答案,我只是想确定一下。
TL:DR 是的,你所有的假设基本上都是正确的。
i += 1
取i
加 1++i
做同样的事情i + 1
做同样的事情,但不会再次将结果存储在i
中,因此它不会有用。
提示:i *= 2
会加倍 i
是的,i += 1
是 i=i+1
的快捷方式。但是,如果要将i
的值加1,建议使用预自增运算符++i
或post-自增运算符i++
。这些增量运算符自动将变量的值增加 1。
示例代码:
for (int i = 0; i <= 10; ++i)
+=
运算符一般用于将两个变量相加,如
i += j;
以上表达式的计算结果为
i = i + j;
同理,其他运算符也可以和=
符号一起使用,比如
i /= j;
计算结果为 i = i / j;
i -= j;
的计算结果为 i = i - j;
i *= j;
的计算结果为 i = i * j;
以此类推