Блог пользователя aviabhinn98

Автор aviabhinn98, история, 4 года назад, По-английски

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

vs

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

Both these loop run n times but we know that ++i and i++ are different. So can anyone explain what is happening in backend in gcc compiler using cpp? Thanks in advance

  • Проголосовать: нравится
  • -31
  • Проголосовать: не нравится

»
4 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Why do you expect them to have different runtimes?

»
4 года назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

++i and i++ only differ if you actually use their values, something like j = ++i (which is equivalent to j = i+1; i++) vs. j = i++ (which is equivalent to j = i; i++). Other than that they do exactly the same thing

»
4 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Basically, because the condition of stopping in your loop is checked before the increment of i, and after the increment of i (either i++ or ++I), I increases by 1.