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
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