僅對類型別而言,請看**:
class a
a(const a &a)
~a()
a& operator++()//前置版本prefix
const a operator ++(int)//後置版本postfix
private:
int m_i;
};int _tmain(int argc, _tchar* argv)
輸出:
a的建構函式
a的拷貝建構函式
a的拷貝建構函式
a的析構函式
a的析構函式
a的析構函式
請按任意鍵繼續. . .
而:
int _tmain(int argc, _tchar* argv)
輸出:
a的建構函式
a的析構函式
請按任意鍵繼續. . .
前置是後置效率的三倍,且增加了一次呼叫棧和乙個入參。 前置 為什麼比後置 效率高
前置 type operator 後置 const type operator int 為了編譯器區分前置和後置 c 規定字尾形式有乙個int型別引數 當函式被呼叫時,編譯器傳遞乙個0做為int引數的值給該函式。不這樣規定,無法區分,因為都僅以自身物件為入參。下面是乙個簡單的例子 class cin...
前置 為什麼比後置 效率高
為了編譯器區分前置和後置 c 規定字尾形式有乙個int型別引數 當函式被呼叫時,編譯器傳遞乙個0做為int引數的值給該函式。不這樣規定,無法區分,因為都僅以自身物件為入參。下面是乙個簡單的例子 class cint cint cint operator 前置的是沒有引數的,並且返回引用 const ...
前置 為什麼比後置 效率高
前置 type operator 後置 const type operator int 為了編譯器區分前置和後置 c 規定字尾形式有乙個int型別引數 當函式被呼叫時,編譯器傳遞乙個0做為int引數的值給該函式。不這樣規定,無法區分,因為都僅以自身物件為入參。下面是乙個簡單的例子 class cin...