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 ([dcl.attr.grammar]):
Table 5 — Keywords
alignas
constexpr
for
register
true
alignof
const_­cast
friend
reinterpret_­cast
try
asm
continue
goto
requires
typedef
auto
decltype
if
return
typeid
bool
default
inline
short
typename
break
delete
int
signed
union
case
do
long
sizeof
unsigned
catch
double
mutable
static
using
char
dynamic_­cast
namespace
static_­assert
virtual
char8_­t
else
new
static_­cast
void
char16_­t
enum
noexcept
struct
volatile
char32_­t
explicit
nullptr
switch
wchar_­t
class
export
operator
template
while
concept
extern
private
this
const
false
protected
thread_­local
consteval
float
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