|
![]() |
#1 |
Moderator
|
Цитата:
Поэтому конструкция a=*(--ptr) и a=*(ptr++) транслировались в одну машинную команду, а конструкции a=*(ptr--) и a=*(++ptr) - в две. Аналогично - операции ++ и -- были введены как раз потому что в PDP-11 были специальные машинные команды INC и DEC, которые увеличивали или уменьшали операнд на единицу и работали занимали меньше памяти и работали чуть быстрее чем обычные операции сложения и вычитания. |
|
![]() |
#2 |
Участник
|
Цитата:
возвращаясь к более привычным архитектурам. префиксные ++ -- компилировались в прямой поток инструкций постфиксные ++ -- как правило приводили к тому, что сначала промежуточный результат куда-то сохранялся, затем инкрементировался, сохранялся, затем восстанавливался. во времена, когда оптимизаторы были глупенькими и наивными это еще имело значение |
|