前置 和後置 的區別

2021-08-10 22:57:19 字數 384 閱讀 7041

#includeusing namespace std;

class int

~int();

/*const int operator++(int)

*/ int & operator++()

private:

int m_i;

};ostream& operator<<(ostream& os, const int& i)

可以使用++a而此時不能使用a++,後置**是

const int operator++(int)

此時則可以使用a++,自定義類時必須要區分。帶引數時則是後置,無引數時則是前置僅僅用於區分,無實際意義。因此在使用時最好使用前置++,無多餘的臨時變數產生。前置返回引用可以加快執行速率。

前置 和後置 的區別

a表示取a的位址,增加它的內容,然後把值放在暫存器中 a 表示取a的位址,把它的值裝入暫存器,然後增加記憶體中的a的值 前置 和後置 有4點不同 返回型別不同 形參不同 不同 效率不同 1 返回型別 前置 的返回型別是 後置 的返回型別const值。這意味著,前置 返回的是左值 可以被修改,也就是說...

前置 和後置 的區別

前置 和後置 的計算效果均為運算元自加一。當單獨乙個語句的時候沒有區別,但如果用在表示式中 i 表示先取i的值做計算,再自加 i表示先自加,再取i的值做計算。比如 int i 2,j 如果j i 那麼先取i的值賦值給j,於是j值為2,i值再自加,i 3。如果 j i 那麼i先自加,得到i 3,然後再...

前置 和後置 過載

1 前置 過載時沒有引數 而後置 過載時有引數。不會使用其引數,僅僅是區分用。可以理解為前置 後面有引數了,所以不需要引數 i 對應 operator i 對應 operator int 2 前置 需要返回引用 因為過載自加運算子後可以返回物件的引用,以方便在表示式中連續使用。而後置 返回的不是引用...