在c++中,前置递增++a与后置递增a++都是让变量a加一再赋值给自身,那么他们的区别在哪呢?
前置递增++a是先让变量a+1再进行表达式的运算,而后置递增a++是先使用变量a与表达式进行运算后再+1,示例代码如下:
void test01()
{
int a = 10;
int b;
b = ++a * 2; //先让a加1,然后进行表达式计算
cout << "test01,此时a的值为: " << a << endl;
cout << "test01,此时b的值为: " << b << endl;
}
void test02()
{
int a = 10;
int b;
b = a++ * 2; //先进行表达式计算(即a*2),然后让a加1
cout << "test02,此时a的值为: " << a << endl;
cout << "test02,此时b的值为: " << b << endl;
}
test01中,b=++a*2,相当于b=(++a)*2, a先加1,此时a的值是11,而后b=11×2;
test02中,b=a++*2, 由于是后置递增,相当于b=a×2; a++;程序先利用a的原始值计算出b的值而后进行a的递增运算,同理前置/后置递减也是如此。
运行结果如下: