C++ 自增自减运算符


自增运算符 ++ 会把操作数加 1,自减运算符 -- 会把操作数减 1。因此:

  1. x = x+1;
  2. 等同于
  3. x++;

同样的:

  1. x = x-1;
  2. 等同于
  3. x--;

无论是自增运算符还是自减运算符,都可以放在操作数的前面(前缀)或后面(后缀)。例如:

  1. x = x+1;
  2. 可以写成:
  3. ++x; // 前缀形式

或者:

  1. x++; // 后缀形式

前缀形式与后缀形式之间有一点不同。如果使用前缀形式,则会在表达式计算之前完成自增或自减,如果使用后缀形式,则会在表达式计算之后完成自增或自减。

实例

请看下面的实例,理解二者之间的区别:

  1. #include <iostream>
  2. using namespace std;
  3. main()
  4. {
  5. int a = 21;
  6. int c ;
  7. // a 的值在赋值之前不会自增
  8. c = a++;
  9. cout << "Line 1 - Value of a++ is :" << c << endl ;
  10. // 表达式计算之后,a 的值增加 1
  11. cout << "Line 2 - Value of a is :" << a << endl ;
  12. // a 的值在赋值之前自增
  13. c = ++a;
  14. cout << "Line 3 - Value of ++a is :" << c << endl ;
  15. return 0;
  16. }

当上面的代码被编译和执行时,它会产生下列结果:

  1. Line 1 - Value of a++ is :21
  2. Line 2 - Value of a is :22
  3. Line 3 - Value of ++a is :23