后缀增量和减量运算符:C++和--

postfix-expression ++
postfix-expression ––

备注

C++ 提供标题和后缀增量和减量运算符;本节描述仅后缀增量和减量运算符。 (有关更多信息,请参见 标题增量和减量运算符。),在 后缀表达式,而之前接记法,运算符在 *表达式之前后,*将显示二者之间的差异在于当后缀符,运算符出现 *。*下面的示例演示一后缀递增运算符:

i++;

应用后缀增量运算符的效果 (++) 是操作数值按适当类型的一个单位。 同样,应用后缀减量运算符的效果 (--) 是操作数值由适当类型的一个单元降低。

值得注意的是,后缀递增或递减表达式计算为单个运算符的表达式 在前面 应用程序的值。 递增或递减运算发生该操作数计算的 之后 。 ,仅当后缀递增或递减运算发生在一个更大的表达式中时,此问题。

当后缀运算符应用于函数参数时,参数的值不能保证递增或递减,在被传递给函数的前面。 有关在 C++ 标准的第 1.9.17 部分有关更多信息。

后缀递增运算符应用于数组的指针类型 long 对象实际添加四到指针的内部表示形式。 此行为会导致指针,以前引用数组的 第 n 个元素,引用 (n+1) Th 元素。

后缀递增和后缀减量运算符的操作数必须是算术或指针类型的可修改 (不是 const) 左值。 该结果的类型是与该 后缀表达式,但是,它不再是左值。

,该操作数计算然后将设置为 true情况下,后缀增量运算符的操作数也可以是类型 bool。 后缀减量运算符的操作数类型不能为 bool。

下面的代码阐释后缀递增运算符:

// expre_Postfix_Increment_and_Decrement_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main() {
   int i = 10;
   cout << i++ << endl;
   cout << i << endl;
}

在枚举类型的 Postincrement 和 postdecrement 操作不受支持:

enum Compass { North, South, East, West );
Compass myCompass;
for( myCompass = North; myCompass != West; myCompass++ ) // Error

请参见

参考

后缀表达式

C++运算符

运算符优先级和结合性

C后缀增量和减量运算符