在C++中使用递减/递增后缀运算符时防止风险?

Duc*_*ran -4 c++ operators decrement postfix-operator

最近我发现使用st这样的风险:

int i = 10;
int sum = 0;
while ( i-- ){
      sum = sum + i;
Run Code Online (Sandbox Code Playgroud)

它实际上得到sum = 9 + 8 + 7 + .. + 1.所以它总共缺少10个.但我更喜欢这种编码方式,它快速而专业.有什么建议可以防止风险并且仍然有简洁的代码吗?

Gra*_*amS 5

你有一个计数器,一个停止条件和一个减量操作,所以使用一个for循环 - 它比一个更好的拟合while:

int sum = 0;
for (int i = 10; i > 0; --i) {
    sum += i;
}
Run Code Online (Sandbox Code Playgroud)

"专业",简洁,无风险:)

编辑:或者如果你想要真正简洁:

int sum = 55;
Run Code Online (Sandbox Code Playgroud)