考虑以下代码:
int totalLength = 0;
int partLength = 0;
for(; totalLength < SOME_CONST; totalLength += partLength, partLength = 0)
{
//partLength may be increased here
}
在这种特殊情况下,我可以假设在将 partLength 添加到 totalLength 后将其设置为 0(因此,如果 partLength 在循环体中增加,我不会在循环结束时将 0 添加到 totalLength) ?我阅读了有关 C++ 序列之类的内容,但没有找到任何明确的答案。
最佳答案
是的。逗号运算符的左侧排在右侧之前。 totalLength += partLength
将在执行 partLength = 0
之前进行全面评估。
关于C++:for循环增量部分的操作顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35803419/