Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Быстродействие i++ и ++i


Автор: MoZy 11.10.2009, 19:53
Привет

Есть вопрос, так как я не мастер дизассемблирования и даже не делитант.

Меня интересует вопрос быстродействия команд пост. и преф. итерации: i++ и ++i

Когда вопрос касается передачи аргументов выбор очевиден - выбирай то что нужно.
Но когда это в коде, скажем в цикле:

for(int i=0;i<n;++i)

То имеет ли значение? Может компилятор умный и сам сделает add 4?

Покажите пожалуйста как выглядит ++i  и i++, если написать это в одной строке.

Автор: 586 11.10.2009, 20:10
Для встроенных типов (char, short, int и т.п.):
Конструкция i++ требует оптимизации, и, обычно, компилятор её оптимизирует в ++i.
Конструкция ++i не требует оптимизации, и воспринимается компиляторами однозначно.

Для объектов (например, для итераторов) следует писать ++i, чтобы не создавалась копия объекта.

Автор: bsa 12.10.2009, 11:07
MoZy, http://forum.vingrad.ru/topic-269794/view-findpost/p-1981664.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)