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   [tab:lex.key]
alignas
constexpr
extern
private
this
alignof
const_­cast
false
protected
thread_­local
asm
continue
float
public
throw
auto
co_­await
for
register
true
bool
co_­return
friend
reinterpret_­cast
try
break
co_­yield
goto
requires
typedef
case
decltype
if
return
typeid
catch
default
inline
short
typename
char
delete
int
signed
union
char8_­t
do
long
sizeof
unsigned
char16_­t
double
mutable
static
using
char32_­t
dynamic_­cast
namespace
static_­assert
virtual
class
else
new
static_­cast
void
concept
enum
noexcept
struct
volatile
const
explicit
nullptr
switch
wchar_­t
consteval
export
operator
template
while
[Note
:
The register keyword is unused but is 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   [tab:lex.key.digraph]
and
and_­eq
bitand
bitor
compl
not
not_­eq
or
or_­eq
xor
xor_­eq