hasherfrog
cl 12.00.8804
При конфигурации Debug и компиляции из IDE выдается 6 10 15
При конфигурации Release - 6 12 20
Почему разница в результатах?
префиксный инкремент С
-
el_cool
Re: префиксный инкремент С
>>Программа же транслируется на ассемблер.
Программа транслируется в машинные коды, то есть инструкции процессора, а ассемблер и машинные коды - это на мой взгляд не одно и то же.
Программа транслируется в машинные коды, то есть инструкции процессора, а ассемблер и машинные коды - это на мой взгляд не одно и то же.
-
hasherfrog
Re: префиксный инкремент С
Изобретаем велосипед. 100% это уже было, м/б даже на этом форуме 
В детали ассемблер-коды предлагаю не лезть, это всего лишь детали.
Принцип понятен, думаю, и без этого? В одном случае компилятор сразу делает инкременты х, потом действия.
В другом - по очереди, слева направо, по ходу инкрементируя х.
Соответственно, мы приходим к тому самому выводу :
Цитата:
СТАНДАРТОМ С++ ЭТИ ПРАВИЛА НЕ РЕГЛАМЕНТИРУЮТСЯ
Всем спасибо, все свободны.
PS. Только оптимизация идёт не на этапе ассм->коды, а С->ассм.

В детали ассемблер-коды предлагаю не лезть, это всего лишь детали.
Принцип понятен, думаю, и без этого? В одном случае компилятор сразу делает инкременты х, потом действия.
В другом - по очереди, слева направо, по ходу инкрементируя х.
Соответственно, мы приходим к тому самому выводу :
Цитата:
СТАНДАРТОМ С++ ЭТИ ПРАВИЛА НЕ РЕГЛАМЕНТИРУЮТСЯ
Всем спасибо, все свободны.

PS. Только оптимизация идёт не на этапе ассм->коды, а С->ассм.