递增运算符++加1操作数,而减运算符 -- 是从它的操作数减去1。因此:
x = x+1; is the same as x++;
类似以下写法:
x = x-1; is the same as x--;
无论是增量还是减量运算符都可以先(前缀)或之后(后缀)的操作。例如:
x = x+1; can be written as ++x; // prefix form
或:
x++; // postfix form
当一个增量或减量作为表达式的一部分,存在于前缀和后缀的形式的一个重要区别。如果使用的前缀形式,然后递增或递减会表达的其余部分之前完成,如果正在使用后缀形式,然后递增或递减会在完整的表达式求值之后。
例如:
以下为例子来理解这种差异:
#include <iostream> using namespace std; main() { int a = 21; int c ; // Value of a will not be increased before assignment. c = a++; cout << "Line 1 - Value of a++ is :" << c << endl ; // After expression value of a is increased cout << "Line 2 - Value of a is :" << a << endl ; // Value of a will be increased before assignment. c = ++a; cout << "Line 3 - Value of ++a is :" << c << endl ; return 0; }
当上述代码被编译和执行时,它产生了以下结果:
Line 1 - Value of a++ is :21 Line 2 - Value of a is :22 Line 3 - Value of ++a is :23