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