Поделиться через


Элементы последовательности C++

Выражение может изменить значение объекта только один раз между последовательными "точками последовательности".

Только для систем Microsoft

Определение языка C++ в настоящее время не определяет точки последовательности.Microsoft C++ использует те же элементы последовательности в ANSI c для любого выражения, включая операторы c# и не включая перегруженные операторы.Если операторы перегружанны, изменение семантики из последовательности выполняется оператора для последовательности вызова функции.Microsoft C++ использует следующие элементы последовательности:

  • Левый операнд оператора логического И (&&).Левый операнд оператора логического И полностью вычисляется и все побочные эффекты завершены перед тем как продолжить.Нет никакой гарантии, что будет вычислен правый операнд оператора логического И.

  • Левый операнд оператора логического ИЛИ (||).Левый операнд оператора логического ИЛИ полностью вычисляется и все побочные эффекты завершены перед тем как продолжить.Нет никакой гарантии, что будет вычислен правый операнд оператора логического ИЛИ.

  • Левый операнд оператора запятой.Левый операнд оператора запятой полностью вычисляется и все побочные эффекты завершены перед тем как продолжить.Оба операнда оператора запятой всегда вычисляются.

  • Оператор вызова функции.Вычисляемое выражение вызова функции и все аргументы для функции, включая аргументы по умолчанию, и все побочные эффекты завершены до записи на функцию.Не определен порядок вычисления числа аргументов или выражения вызова функции.

  • Первый операнд условного оператора.Первый операнд условного оператора полностью вычисляется и все побочные эффекты завершены перед тем как продолжить.

  • Окончание полного выражения инициализации, как завершение инициализации при выписке объявления.

  • Выражение в выписке выражения.Выписки выражения состоят из дополнительного выражения и точкой с запятой (;).Выражение вычисляется полностью в качестве побочных эффектов.

  • Управление выражение в выписке выделения (если ключ).Выражение вычисляется и полностью все побочные эффекты завершены перед тем, как выполняется зависимые кода в выделении.

  • Управление выражение while или делает выписку.Выражение вычисляется и полностью выполняются все побочные эффекты завершены перед всеми выписками в следующей итерации цикла while или закрепляют.

  • Каждый из 3 выражений для выписки.Каждое выражение вычисляется полностью и все побочные эффекты завершены перед переходом к следующему выражению.

  • Выражение в возвращенной выписке.Выражение вычисляется и полностью все побочные эффекты завершены перед тем, как элемент управления возвращается вызывающей функции.

См. также

Ссылки

Семантики выражений