Точка последовательности
- Точка последовательности в C и C++ гарантирует выполнение побочных эффектов предыдущих оценок и предотвращает побочные эффекты последующих оценок.
- Точки последовательности важны для определения достоверности и возможных результатов выражений.
- В C11 и C++11 термин “точка последовательности” был заменен на “секвенирование”.
- Существуют три возможности выполнения вычислений: последовательность, неопределенная последовательность и отсутствие последовательности.
- Неопределенное поведение может привести к катастрофическим результатам при параллельных вычислениях и однопоточных ситуациях.
- Примеры двусмысленности включают оператор + и оператор запятой в C и C++.
- В C и C++ точки последовательности расположены в определенных местах, таких как между операторами, в конце выражений и перед вводом функций.
- В C++17 и C++11 введены новые правила для порядка вычисления, ограничивающие некоторые аспекты и гарантирующие выполнение определенных операций в определенном порядке.
Полный текст статьи: