Полное выражение, содержащее шаг (++) или декремент (-) оператор, не должно иметь никаких других потенциальных побочных эффектов кроме вызванного инкрементным или оператором понижения
Полное выражение, содержащее шаг (++) или декремент (-) оператор, не должно иметь никаких других потенциальных побочных эффектов кроме вызванного инкрементным или оператором понижения.
Правило нарушено, если следующее происходит в той же строке кода:
Инкрементный или оператор понижения действует на переменную.
Другая операция чтения или операция записи выполняются на переменной.
Например, линия y=x++
нарушает это правило. ++
и =
оператор оба действия на x
.
Несмотря на то, что правила приоритета оператора определяют порядок оценки, помещая ++
и другой оператор в той же линии может уменьшать удобочитаемость кода.
Полное выражение, содержащее шаг (++) или декремент (-) оператор, не должно иметь никаких других потенциальных побочных эффектов кроме вызванного инкрементным или оператором понижения.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: побочные эффекты |
Категория: консультация |
Категория AGC: удобочитаемость |
Язык: C90, C99 |