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
| № | Пользователь | Рейтинг |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3603 |
| 4 | jiangly | 3583 |
| 5 | strapple | 3515 |
| 6 | tourist | 3470 |
| 7 | dXqwq | 3436 |
| 8 | Radewoosh | 3415 |
| 9 | Otomachi_Una | 3413 |
| 10 | Um_nik | 3376 |
| Страны | Города | Организации | Всё → |
| № | Пользователь | Вклад |
|---|---|---|
| 1 | Qingyu | 158 |
| 2 | adamant | 152 |
| 3 | Proof_by_QED | 146 |
| 3 | Um_nik | 146 |
| 5 | Dominater069 | 144 |
| 6 | errorgorn | 141 |
| 7 | cry | 139 |
| 8 | YuukiS | 135 |
| 9 | chromate00 | 134 |
| 9 | TheScrasse | 134 |
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
| Название |
|---|



Why do you expect them to have different runtimes?
++iandi++only differ if you actually use their values, something likej = ++i(which is equivalent toj = i+1; i++) vs.j = i++(which is equivalent toj = i; i++). Other than that they do exactly the same thingBasically, because the condition of stopping in your loop is checked before the increment of
i, and after the increment ofi(eitheri++or++I),Iincreases by1.