Příponové operátory přírůstek a snižovat operátory: ++ a--
postfix-expression ++
postfix-expression ––
Poznámky
C++ obsahuje předponu a Příponové operátory přírůstek a trase hospodářskými subjekty; Tato část popisuje pouze přírůstek Příponové a trase operátory.(Další informace naleznete v tématu Přírůstek předpony a snižovat operátory.) Rozdíl mezi nimi je, že v notaci Příponové operátor objeví po Příponové výrazk tomu, že v předpony, operátor se zobrazí před výraz. Následující příklad ukazuje operátor Příponové přírůstek:
i++;
Efekt operátor Příponové přírůstek (++) je hodnota operand je zvýšen jedné jednotky vhodného typu.Podobně efekt operátor snižovat Příponové (–) je, že hodnota operand snížil jedné jednotky vhodného typu.
Je důležité si uvědomit, že Příponové zvýšit nebo snižovat výraz vyhodnocen jako hodnota výrazu před provozovatele příslušné aplikace.Operace zvýšení nebo snížení hodnoty dojde k Po operand je vyhodnocena.Tento problém nastane pouze při Příponové zvyšovat nebo snižovat operaci dochází v rámci rozsáhlejšího výrazu.
Při použití operátoru Příponové argumentu funkce, hodnota argumentu je nemusí být přírůstkovými nebo snížena před předaný funkci.V části 1.9.17 Standard C++ Další informace.
Použití operátoru přírůstek Příponové ukazatel na pole objektů typu dlouhý skutečně přidá čtyři pro vnitřní reprezentaci ukazatel.Toto chování způsobuje ukazatel, který dříve uvedené nth prvku matice, odkazovat (n+ 1) th element.
Operandy Příponové operátory přírůstek a Příponové operátory snižovat hospodářské subjekty musí být upravitelné (není const) l hodnoty typu aritmetický nebo ukazatel.Typ výsledku je stejné jako Příponové výraz, ale nebude již l hodnota.
Operand operátoru přírůstek Příponové může být také typu bool, který případ operand je vyhodnocena a poté nastavte na true.Operand operátoru snižovat Příponové nemůže být typu bool.
Následující kód ukazuje operátor Příponové přírůstek:
// 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;
}
Výčtové typy postincrement a postdecrement operace nejsou podporovány:
enum Compass { North, South, East, West );
Compass myCompass;
for( myCompass = North; myCompass != West; myCompass++ ) // Error