Чем отличается префиксный инкремент ++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 шт):
Недавно обсуждали такой вопрос, но великая "база знаний SO" почему-то молчит. :-) Может быть потому, что SO никакая не "база знаний", а банальный форум с переизбытком снобов от программирования с раздутым ЧСВ. :-)
Какая разница между i++ и ++i?
Пользуясь случаем тоже почешу свое ЧСВ и повторю свой ответ на тот вопрос:
В связи с наступлением на нас шаблонов в С++, рекомендуется писать в циклах ++i а не i++. Это связано с тем, что прединкремент для классов обычно реализуется проще, чем постинкремент (как минимум, не надо хранить старое значение для возврата). Поэтому, если к примеру в шаблон в качестве типа счетчика цикла будет подставлено не просто целое, а сверхдлинное целое, то внутри циклов будет меньше ненужной работы.