Точнее, стандарт языка описывает последовательность действий "абстрактной машины" (за исключением undefined behaviour). В реальной машине последовательность действий может быть совсем иной, но результат должен совпадать с тем, что получила "абстрактная машина", причём лишь в определённых местах: т.н. "sequence points".