Freigeben über


Postfix-Inkrementoperatoren und Operatoren: C++-Datei und --

postfix-expression ++
postfix-expression ––

Hinweise

C++ bietet Präfix und Postfixinkrement und Dekrementoperatoren. Dieser Abschnitt beschreibt nur das Postfixinkrement und Dekrementoperatoren.(Weitere Informationen finden Sie unter Präfix-Inkrement und Dekrementoperatoren). Der Unterschied zwischen beiden ist der in der schreibweise, der Operator Postfix wird angezeigt, nachdem Postfixausdruck, während schreibweise Präfix in der Operator, der vor Ausdruck dargestellt wird. Im folgenden Beispiel wird ein Postfixinkrements: operator

i++;

Durch Anwendung des Operators Postfixinkrements (++) besteht darin, dass der Wert des Operanden um eine Einheit des entsprechenden Typs vergrößert wird.Entsprechend der Auswirkungen der Anwendung des dekrementoperators (Postfix--) besteht darin, dass der Wert des Operanden um eine Einheit des entsprechenden Typs verringert wird.

Beachten Sie unbedingt, dass ein Postfixinkrements- oder Dekrement den Wert des Ausdrucks vor Ausdruck mithilfe des jeweiligen Operators ausgewertet wird.Der Inkrementierungs- oder Dekrement Vorgang tritt auf danach , das der Operanden ausgewertet wird.Dieses Problem tritt auf, wenn der Postfixinkrements- oder Dekrement Vorgang noch einmal in einem umfassenderen Ausdrucks auftritt.

Wenn ein Operator Postfix ein Funktionsargument angewendet wird, wird der Wert des Arguments nicht inkrementiert oder dekrementiert werden soll, bevor er an die Funktion übergeben wird.Weitere Informationen finden Sie im Abschnitt 1.9.17 C++-Standard.

Der Operator Postfixinkrements auf einen Zeiger auf ein Array von Objekten des Typs long , fügt vier tatsächlich Anwenden der internen Darstellung des Zeigers ein.Dieses Verhalten wird der Zeiger, der zuvor das n-teElement des Arrays ansprach, um das Element zu verweisen (n+1th.)

Die Operanden in den Postfixinkrements- und Postfix dekrementoperatoren (nicht veränderbare müssen const) L-Werte der arithmetischen Operatoren oder des Zeigertyps sein.Der Typ des Ergebnisses ist der gleiche wie der des Postfixausdrucks, aber es ist keine weiteren ein l-Wert dar.

Der Operand des Operators Postfixinkrements kann auch vom Typ bool. In diesem Fall wird der Operanden ausgewertet wird, und klicken Sie dann auf truefestgelegt.Der Operand eines Postfixdekrementoperators kann nicht vom Typ boolsein.

Im folgenden Code wird die Postfixinkrements: operator

// 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;
}

Vorgänge Postincrement und des postdecrement für Enumerationstypen werden nicht unterstützt:

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

Siehe auch

Referenz

Postfixausdrücke

C++-Operatoren

Operatorrangfolge und Assoziativität

C-Postfixinkrement und -Dekrementoperatoren