Чем отличается префиксный инкремент ++i от постфиксного i++ в цикле for. C++

В чем разница между постфиксным и префиксным инкрементом в данном коде

for(int  i=0;i<size;++i)
{
cout<<arr[i]<<endl;
} 

for(int i=0;i<size;i++)
{
cout<<arr[i]<<endl;
}

Ответы (1 шт):

Автор решения: pepsicoca1

Недавно обсуждали такой вопрос, но великая "база знаний SO" почему-то молчит. :-) Может быть потому, что SO никакая не "база знаний", а банальный форум с переизбытком снобов от программирования с раздутым ЧСВ. :-)

Какая разница между i++ и ++i?

Пользуясь случаем тоже почешу свое ЧСВ и повторю свой ответ на тот вопрос:

В связи с наступлением на нас шаблонов в С++, рекомендуется писать в циклах ++i а не i++. Это связано с тем, что прединкремент для классов обычно реализуется проще, чем постинкремент (как минимум, не надо хранить старое значение для возврата). Поэтому, если к примеру в шаблон в качестве типа счетчика цикла будет подставлено не просто целое, а сверхдлинное целое, то внутри циклов будет меньше ненужной работы.

→ Ссылка