下面的**有區別嗎? 進入彙編
i++; // i 的值作為返回值,i自增1
++i; //i自增1,i的值作為返回值
#include
#include
using namespace std;
int main()
int value()
test& operator ++ () //過載前置++操作符
test operator ++ (int) //過載後置++操作符,不是引用
};int main()
complex complex::operator ++(int)
{complex ret(a,b);
a=a+1;
b=b+1;
return ret+1;
對於基礎型別,前置++和後置++效率幾乎相同。
對於類型別,前置++的效率高於後置++,後置需要申請乙個臨時變數。
40 前置操作符和後置操作符
注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 9.2.0 一 值得思考的問題 1 下面的 有沒有區別?為什麼?i i 的值作為返回值,i自增1。i i自增1,i的值作為返回值test.cpp include using namespa...
前置操作符和後置操作符
操作符可以被過載 全域性函式和成員函式均可以進行過載 過載前置 操作符不需要額外的引數 過載後置 操作符需要乙個int型別的佔位引數 來看乙個例子 include include using namespace std class test intvalue test operator test o...
C 40 前置操作符和後置操作符
void code include using namespace std int main vc 2010 彙編 int i 0 0127136e mov dword ptr i 0 i 01271375 mov eax,dword ptr i 01271378 add eax,1 0127137...