可能重複:
Is there a performance difference between i++ and ++i in C++?哪一個更快後增量或預增量?
嗨, 我有一天問以前,哪一個是快變量++或++變量?我有點困惑。有人能告訴我哪一個更快,爲什麼?
可能重複:
Is there a performance difference between i++ and ++i in C++?哪一個更快後增量或預增量?
嗨, 我有一天問以前,哪一個是快變量++或++變量?我有點困惑。有人能告訴我哪一個更快,爲什麼?
我認爲預增加會更快,因爲它只是增加它,然後在那裏和行爲完成,而後遞增需要保持一個變量的副本更長一點。
這可能取決於編譯器,但我通常使用預增量,除非需要另外。
好的編譯器生成反映*語義*的代碼,而不是語法。如果需要保留一個副本,那麼它將是,如果沒有,那麼它不會是,無論使用哪個操作符。而且在大多數情況下,不需要保持cppy。 – 2011-04-11 06:15:14
在C++的答案我親自給過是沿着這樣的線:
後增量必須創建對象的副本當前狀態,增加對象,並通過值返回副本。對於整數類型來說,這是無關緊要的,因爲按值返回是相同的大小,而複製意味着很少。
預增量可能只是增量並通過引用自行返回。
這是不正確的。只有在增量之前的值需要表達式時纔會進行「複製」;但在這種情況下,附加成本不能歸因於++算子,因爲獲取該值是整個表達式的結果,而不是後增加算子的結果。 – 2011-04-11 05:09:03
檢查http://stackoverflow.com/questions/24901/is-there-a-performance-difference-between-i-and-i-in-c – RageD 2011-04-11 05:02:40
嘗試搜索按鈕。 – Marlon 2011-04-11 05:26:46