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