Types and Expressions
This chapter seeks to provide a deeper understanding of C++'s strong typing system, and shows how expressions are evaluated and converted.
19.1 |
Operators |
438 |
19.2 |
Evaluation of Logical Expressions |
443 |
19.3 |
Enumerations |
443 |
19.4 |
Signed and Unsigned Integral Types |
445 |
19.5 |
Standard Expression Conversions |
447 |
19.6 |
Explicit Conversions |
449 |
19.7 |
Safer Typecasting Using ANSI C++ Typecasts |
450 |
19.8 |
Run-Time Type Identification (RTTI) |
454 |
19.9 |
Member Selection Operators |
457 |
Here we formally define some terms that we have been using. Operators are special kinds of functions that perform calculations on operands and return results. Operands are the arguments supplied to the operator.
Operators can be thought of as ordinary functions, except that it is possible to call them using operator symbols (e.g.,+, -, *, /, etc.) in addition to the longer function-call syntax.
An expression consists of a single operand, multiple operands with operators interspersed, or functions with arguments. Each expression has a type and a value. The value is obtained by applying the definitions of the operators and/or functions to the operands (and/or arguments).