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