i 和 i效率和過載問題

2021-06-18 09:18:54 字數 591 閱讀 1311

c++中++操作符過載問題

檢舉|2011-05-19 06:26st_caonima5 | 分類:c/c++ | 瀏覽312次

(1)cdate& operator ++ () cdate& operator ++ ()

(2)cdate operator ++ (int)

cdate是乙個已經定義好的類,現在要對++操作符進行過載,

(1)在兩個實現中,如何判斷哪個是++過載前置(像是++i),哪個是後置(i++)?

(2)在第二個實現中中,為什麼對於int引數沒有變數的名稱?

(注意,對於問題(2),這個就是源**,不是從頭檔案和cpp檔案中分別複製貼上的,所以對於這個問題,如果想告訴我這是因為在宣告中不需要有變數名稱,在實現中才需要,就請不要浪費時間了,源**就是這個樣子,宣告完了緊接著就是函式實現)

1、對於i++和++i的效率,對於像系統的值型別的,例如int等,都是一樣的;對於類則不同;

2、以上面乙個類為例,第乙個實現了++i,返回的引用資料,效率更高;第二個實現,返回的是物件,速度更慢;

帶引數的是字尾,這個引數只是為了區分過載,並不進行運算

for迴圈中 i和i 的效率問題

不知道你是否聽說過 i比i 快的說法,真的如此嗎?這兩個表示式從我們初學程式語言的時候就會接觸到。前者是自增後取值,後者是取值後自增。我們看乙個簡單的例子。include using namespace std intmain 執行結果 c 0 d 1對於這個結果我們並不感到意外。另外我們還注意到另...

i和i 效率誰高

1 i是在i上直接加1,表示式的值是i本身 i 也是在i上加1,表示式的值是加1前的副本 因為要存副本,所以效率略低,但是實際上大部分編譯器都會完成這部分優化工作,但是對於自定義的迭代器之類的,就未必有優化了 2 如果i是內建型別的,如int,效率是一樣的 沒有拷貝建構函式 如果是非內建型別的。如自...

面試題 i 和 i哪個效率更高

include int main 簡單地比較字首自增運算子和字尾自增運算子的效率是片面的,因為存在很多因素影響這個問題的答案。考慮內建資料型別的時候,它們的效率差別不大 去除編譯器的影響 考慮自定義資料型別 主要是指類 的情況。此時我們不需要再做很多彙編 的分析,因為字首式 i 可以返回物件的引用,...