Signature/Syntax Sample | Name/Semantics |
---|---|
Lowest precedence | left associative entry right associative entry |
expr, expr | sequencing (comma) |
throw expr | throw expression |
lvalue = expr | simple assignment |
lvalue *= expr | multiply and assign |
lvalue /= expr | divide and assign |
lvalue %= expr | modulo and assign |
lvalue += expr | add and assign |
lvalue -= expr | |
subtract and assign | |
lvalue <<= expr | shift left and assign |
lvalue >>= expr | shift right and assign |
lvalue &= expr | bit AND and assign |
lvalue ^= expr | bit XOR and assign |
lvalue |= expr | bit OR and assign |
expr ? expr : expr | if-then-else expr |
expr or expr expr || expr |
logical inclusive or |
expr and expr expr && expr |
logical and |
expr | expr | bitwise OR |
expr ^ expr | bitwise XOR |
expr & expr | bitwise AND |
expr ==
expr expr != expr |
equal, not equal |
expr < expr expr <= expr expr > expr expr >= expr |
less than, less than or equal, greater than, greater than or equal |
expr << expr expr >> expr |
shift left, shift right |
expr + expr expr - expr |
add (plus), subtract (minus) |
expr * expr expr / expr expr % expr |
multiply, divide, mod (remainder) |
object .* ptr_to_data_member | member selection |
object ->* ptr_to_fun_member | member selection |
sizeof (type) | size of type |
sizeof expr | size of expr type |
++ lvalue | pre increment |
-- lvalue | pre decrement |
~ expr | bitwise NOT |
not expr | logical not |
! expr | logical not |
+ expr | unary plus |
- expr | unary minus |
& lvalue | address of |
* expr | dereference |
new type | create |
new type (expr_list) | create |
new (expr_list) type | create (placement) |
new (expr_list) type (expr_list) | create (placement) |
new type [ expr ] | create array |
delete pointer | destroy object |
delete [ ] pointer | destroy array |
(type) expr | type cast |
object . member | member selection |
pointer -> member | member selection |
pointer [ expr ] | subscripting |
function ( expr_list ) | function call |
type ( expr_list ) | value construction |
lvalue ++ | post increment |
lvalue -- | post decrement |
typeid (type) | type identification |
typeid (expr) | run-time type |
dynamic_cast <type> (expr) | run-time conversion |
static_cast <type> (expr) | compile-time conversion |
reinterpret_cast <type> (expr) | unchecked conversion |
const_cast <type> (expr) | const conversion |
class_name :: name namespace_name :: name :: global_name :: qualified_name |
scope resolution scope resolution global global |
Highest Precedence | |