5.3.5 Overloading and macros

The operators specified in the previous sections specify the types and meanings for operations on basic types. Additional functionality can be implemented using abstract operator overloading or macro processing.

Operator precedence cannot be changed with abstract operator overloading.

For macro processing in particular, there is an additional operator available: the postfix ! operator.