спецификации — c ++: порядок операций в части приращения цикла

Рассмотрим следующий фрагмент кода:

int totalLength = 0;
int partLength = 0;
for(; totalLength < SOME_CONST; totalLength += partLength, partLength = 0)
{
//partLength may be increased here
}

В этом конкретном случае можно ли предположить, что partLength будет установлен в 0 ПОСЛЕ того, как он будет добавлен к totalLength (поэтому, если partLength будет увеличено в теле цикла, я не буду добавлять 0 к totalLength в конце цикла) ? Я читал о последовательностях c ++ и тому подобное, но не нашел четкого ответа.

4

Решение

Да. Левая часть оператора запятой располагается перед правой частью. totalLength += partLength будет полностью оценен перед выполнением partLength = 0,

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]