Lvalue-to-rvalue conversions............................................................................................................ 120
Pointer conversions............................................................................................................................120
Conversion to void*.......................................................................................................................121
Reference conversions (C++ only).....................................................................................................122
Qualication conversions (C++ only).................................................................................................122
Function argument conversions........................................................................................................ 122
Expressions and Operators..................................................................................................................... 125
Lvalues and rvalues............................................................................................................................125
Primary expressions...........................................................................................................................127
Names........................................................................................................................................... 127
Literals.......................................................................................................................................... 128
Integer constant expressions.......................................................................................................128
Identier expressions (C++ only).................................................................................................129
Parenthesized expressions()...................................................................................................... 129
Scope resolution operator:: (C++ only)....................................................................................... 130
Generalized constant expressions (C++11).................................................................................131
Function call expressions...................................................................................................................132
Member expressions..........................................................................................................................132
Dot operator.................................................................................................................................132
Arrow operator->......................................................................................................................... 133
Unary expressions..............................................................................................................................133
Increment operator ++.................................................................................................................134
Decrement operator --................................................................................................................. 134
Unary plus operator + .................................................................................................................. 134
Unary minus operator - ................................................................................................................135
Logical negation operator !...........................................................................................................135
Bitwise negation operator ~......................................................................................................... 135
Address operator &.......................................................................................................................135
Indirection operator *...................................................................................................................136
The typeid operator (C++ only).................................................................................................... 137
The __alignof__ operator............................................................................................................. 138
The sizeof operator.......................................................................................................................138
The __typeof__ operator.............................................................................................................. 140
Binary expressions.............................................................................................................................141
Assignment operators.................................................................................................................. 141
Simple assignment operator =................................................................................................142
Compound assignment operators.......................................................................................... 142
Multiplication operator *...............................................................................................................143
Division operator ⁄......................................................................................................................... 143
Remainder operator %................................................................................................................. 143
Addition operator +.......................................................................................................................144
Subtraction operator -.................................................................................................................. 144
Bitwise left and right shift operators << >>................................................................................. 144
Relational operators < > <= >=.................................................................................................... 145
Equality and inequality operators == !=.......................................................................................146
Bitwise AND operator &................................................................................................................147
Bitwise exclusive OR operator ^.................................................................................................. 147
Bitwise inclusive OR operator |.................................................................................................... 148
Logical AND operator &&..............................................................................................................148
Logical OR operator ||...................................................................................................................149
Array subscripting operator[]......................................................................................................149
Comma operator ,.........................................................................................................................150
Pointer to member operators.*->* (C++ only)............................................................................152
Conditional expressions.....................................................................................................................152
Types in conditional C expressions.............................................................................................. 153
Types in conditional C++ expressions..........................................................................................153
Examples of conditional expressions...........................................................................................154
vi