5 Lexical conventions [lex]

5.11 Keywords [lex.key]

The identifiers shown in Table 5 are reserved for use as keywords (that is, they are unconditionally treated as keywords in phase 7) except in an attribute-token:

Table 5 — Keywords
alignas continue friend register true
alignof decltype goto reinterpret_­cast try
asm default if return typedef
auto delete inline short typeid
bool do int signed typename
break double long sizeof union
case dynamic_­cast mutable static unsigned
catch else namespace static_­assert using
char enum new static_­cast virtual
char16_­t explicit noexcept struct void
char32_­t export nullptr switch volatile
class extern operator template wchar_­t
const false private this while
constexpr float protected thread_­local
const_­cast for public throw

[Note: The export and register keywords are unused but are reserved for future use.end note]

Furthermore, the alternative representations shown in Table 6 for certain operators and punctuators ([lex.digraph]) are reserved and shall not be used otherwise:

Table 6 — Alternative representations
and and_­eq bitand bitor compl not
not_­eq or or_­eq xor xor_­eq