(Since C++11) (Since C++11) (1) : (Concepts TS)
(Since C++11) (Since C++11) (1) : (Concepts TS)
else
enum
explicit
export(1)
extern
false
float
for
friend
goto
if
inline
int
long
mutable
namespace
new
noexcept (since C++11)
not
not_eq
nullptr (since C++11)
operator
or
or_eq
private
protected
public
register
reinterpret_cast
Note that and, bitor, or, xor, compl, bitand, and_eq, or_eq, xor_eq, not,
and not_eq (along with the digraphs <%,%>, <:, :>, %:, and %:%:) provide an alternative way to
represent standard tokens.
In addition to keywords, there are two identifiers with special meaning, which may be used as
names of objects or functions, but have special meaning in certain contexts.
override (C++11)
final (C++11)
Also, all identifiers that contain a double underscore __ in any position and each identifier that
begins with an underscore followed by an uppercase letter is always reserved and all identifiers
that begin with an underscore are reserved for use as names in the global namespace.
See identifiers for more details.
The namespace std is used to place names of the standard C++ library. See Extending
namespace std for the rules about adding names to it.
The name posix is reserved for a future top-level namespace. The behavior is
undefined if a program declares or defines anything in that namespace.
(since C++11)
The following tokens are recognized by the preprocessor when in context of a preprocessor
directive:
if
elif
else
endif
defined
ifdef
ifndef
define
undef
include
line
error
pragma
The following tokens are recognized by the preprocessor outside the context of a preprocessor
directive:
_Pragma(since C++11)