iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0

在很多程式語言,很常會有一個語法,那就是i++++i
相信很多人都學過,但一直搞不清楚這兩個的差別,只是單純當成i+=1 來使用,於是整天有人在吵哪一個比較好看。

實際上,這兩個語法之間是有不一樣的用途的。

i++是先回傳當前值,再加一。

++i是先加一,再回傳當前值。

比如今天有一個程式碼是

a = i++ + 3
b = ++j + 4

他其實就是

a = i+3
i+=1

j+=1
b = j+4

基本上來說,如果當成i+=1,兩個都可以拿來使用,依照自己覺得哪個順眼就行。

不過其實因為更底層的運作原理的關係,其實++i通常執行速度會比i++快上那麼一點點點。

所以,如果真的竭盡全力要提速的話,可以考慮用++i來試試看喔!

本期meme

https://ithelp.ithome.com.tw/upload/images/20230920/20133574nB7fV65m4l.png


上一篇
Day05 分號不分號
下一篇
Day07 陣列從0開始
系列文
寫程式的那些宗教戰爭30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Coelacanthus
iT邦新手 5 級 ‧ 2023-12-29 23:33:17

事实上现代编译器会在允许的情况下(也就是没有用 i++ 的值的情况下)将 i++ 优化为 ++i

我要留言

立即登入留言