兩種表示方法常常容易混淆, 在這裏將利用演示程序來揭示二者之間的區別, 演示代碼以下spa
int main() { int a = 1; cout << "a=1 " << "a++: " << a++ << " 此時a= " << a << endl; a = 1; cout << "a=1 " << "++a: " << ++a << " 此時a= " << a << endl; system("pause"); return 0; }
最終結果以下:code
a=1 a++: 1 此時a=2
a=1 ++a: 2 此時a=2blog
顯然, a++ 與 ++a 均是對a自身的自加運算, 就改變a的值來說, 兩者效果相同; 可是, 二者算式的值卻不相同(a++)的值保持爲原先a的值, 而(++a)的值隨着a的值一塊兒變化加一. 下面, 咱們來看這兩個式子的值具體在怎麼變化;class
代碼以下:變量
int main() { int a = 1; cout << "a=1 " << "a++=" << a++ << "; 此時a=" << a << endl; cout << "此時a=" << a;cout<< "二次a++=" << a++ << "; 此時a=" << a << endl << endl; a = 1; cout << "a=1 " << "++a=" << ++a << "; 此時a=" << a << endl; cout << "此時a=" << a;cout<< "二次++a=" << ++a << "; 此時a=" << a << endl; system("pause"); return 0; }
運行結果以下:引用
a=1 a++=1; 此時a=2
此時a=2二次a++=2; 此時a=3程序
a=1 ++a=2; 此時a=2
此時a=2二次++a=3; 此時a=3方法
結果與咱們想的一致, a++是對a變量值的引用, 始終與該式以前a的值一致; 而++a自己就是對a自增的引用, 結果與該式以後的a保持一致.margin