C++ 参考手册

位置:首页 > C++ 参考手册 > C++ 关键词

这是 C++ 中的保留字列表。因为它们为语言所用,故这些关键词不可用于重定义或重载。

alignas (C++11 èµ·)
alignof (C++11 èµ·)
and
and_eq
asm
atomic_cancel (TM TS)
atomic_commit (TM TS)
atomic_noexcept (TM TS)
auto(1)
bitand
bitor
bool
break
case
catch
char
char8_t (C++20 èµ·)
char16_t (C++11 èµ·)
char32_t (C++11 èµ·)
class(1)
compl
concept (C++20 èµ·)
const
consteval (C++20 èµ·)
constexpr (C++11 èµ·)
constinit (C++20 èµ·)
const_cast
continue
co_await (C++20 èµ·)
co_return (C++20 èµ·)
co_yield (C++20 èµ·)
decltype (C++11 èµ·)

default(1)
delete(1)
do
double
dynamic_cast
else
enum
explicit
export(1)(3)
extern(1)
false
float
for
friend
goto
if
inline(1)
int
long
mutable(1)
namespace
new
noexcept (C++11 èµ·)
not
not_eq
nullptr (C++11 èµ·)
operator
or
or_eq
private
protected
public
reflexpr (反射 TS)

register(2)
reinterpret_cast
requires (C++20 èµ·)
return
short
signed
sizeof(1)
static
static_assert (C++11 èµ·)
static_cast
struct(1)
switch
synchronized (TM TS)
template
this
thread_local (C++11 èµ·)
throw
true
try
typedef
typeid
typename
union
unsigned
using(1)
virtual
void
volatile
wchar_t
while
xor
xor_eq

  • (1) - C++11 中含义改变或添加新含义。
  • (2) - C++17 中含义改变。
  • (3) - C++20 中含义改变。

注意 and、bitor、or、xor、compl、bitand、and_eq、or_eq、xor_eq、not 及 not_eq(还有双标符 <%、%>、<:、:>、%: 及 %:%:)提供标准记号的代用表示方法。

除了关键词外,还有拥有特殊含义的标识符,它们可用作对象或函数的名字,但在某些语境拥有特殊含义。

override (C++11)
final (C++11)
import (C++20)
module (C++20)
transaction_safe (TM TS)
transaction_safe_dynamic (TM TS)

还有,在任何位置含双下划线 __ 的所有标识符,和以一个下划线后随一个大写字母开始的所有标识符,都始终受保留,而所有以单下划线开始的标识符,保留用作全局命名空间中的名称。更多细节见标识符。

命名空间 std 用于放置标准 C++ 库中的名称。关于向它添加名称的规则,见扩充命名空间 std 。

名称 posix 保留作为未来的顶级命名空间。若程序于该命名空间声明或定义任何内容,则行为未定义。

(C++11 èµ·)

预处理器在预处理指令的语境中识别下列记号:

if
elif
else
endif

ifdef
ifndef
define
undef

include
line
error
pragma

defined
__has_include (C++17 èµ·)
__has_cpp_attribute (C++20 èµ·)

预处理器在预处理指令的语境之外识别下列记号:

_Pragma(C++11 èµ·)

参阅