++操作符可以被過載
全域性函式和成員函式均可以進行過載
過載前置++操作符不需要額外的引數
過載後置++操作符需要乙個int型別的佔位引數
來看乙個例子
#include
#include
using
namespace std;
class
test
intvalue()
test&
operator++(
)
test operator++(
int)};
intmain()
結果:
sice@sice:~$ ./a.out 11
2
可以看出我們過載了後置操作符和前置操作符,我們這裡的t++呼叫了後置操作符過載函式,先返回,後+1,完全符合我們c語言中的語法,還有一點可以看出對於前置++和後置++,前置++的效率高於後置++,因為前置++不用產生臨時物件
40 前置操作符和後置操作符
下面的 有區別嗎?進入彙編 i i 的值作為返回值,i自增1 i i自增1,i的值作為返回值 include include using namespace std int main int value test operator 過載前置 操作符 test operator int 過載後置 操作...
40 前置操作符和後置操作符
注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 9.2.0 一 值得思考的問題 1 下面的 有沒有區別?為什麼?i i 的值作為返回值,i自增1。i i自增1,i的值作為返回值test.cpp include using namespa...
過載前置操作符和後置操作符
i i的值作為返回值,i自增1 i i自增1,i的值作為返回值 現代編譯器產品會對 進行優化 優化使得最終的二進位制程式更加高效 優化後的二進位制程式丟失了c c 的原生語義 不可能從編譯後的二進位制程式還原c c 程式 操作符可以被過載 全域性函式和成員函式均可以進行過載 過載前置 操作符不需要額...