2011-04-11 43 views

回答

1

我認爲預增加會更快,因爲它只是增加它,然後在那裏和行爲完成,而後遞增需要保持一個變量的副本更長一點。

這可能取決於編譯器,但我通常使用預增量,除非需要另外。

+0

好的編譯器生成反映*語義*的代碼,而不是語法。如果需要保留一個副本,那麼它將是,如果沒有,那麼它不會是,無論使用哪個操作符。而且在大多數情況下,不需要保持cppy。 – 2011-04-11 06:15:14

1

在C++的答案我親自給過是沿着這樣的線:

後增量必須創建對象的副本當前狀態,增加對象,並通過值返回副本。對於整數類型來說,這是無關緊要的,因爲按值返回是相同的大小,而複製意味着很少。

預增量可能只是增量並通過引用自行返回。

+0

這是不正確的。只有在增量之前的值需要表達式時纔會進行「複製」;但在這種情況下,附加成本不能歸因於++算子,因爲獲取該值是整個表達式的結果,而不是後增加算子的結果。 – 2011-04-11 05:09:03