C++/关键字

YzACG百科站,有许♂容之心的百科全书!
跳转至: 导航搜索

这是 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
char16_t (C++11 起)
char32_t (C++11 起)
class (1)
compl
concept (C++20 起)
const
constexpr (C++11 起)
const_cast
continue
decltype (C++11 起)
default (1)
delete (1)
do
double

dynamic_cast
else
enum
explicit
export (1)
extern (1)
false
float
for
friend
goto
if
import (模块 TS)
inline (1)
int
long
module (模块 TS)
mutable (1)
namespace
new
noexcept (C++11 起)
not
not_eq
nullptr (C++11 起)
operator
or
or_eq
private
protected
public
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 中含义改变或添加新含义。注意:关键词 export
亦为模块 TS 所用。
  • (2) - C++17 中含义改变。

注意 and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq (还有双标符 <%%><::> , %:%:%: )提供另一种表示标准记号的方法

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

override (C++11)
final (C++11)
transaction_safe (TM TS)
transaction_safe_dynamic (TM TS)

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

命名空间 std

用于放置标准 C++ 库的名称。关于添加名称到它的规则,见扩充命名空间 std
名称 posix 为顶级命名空间保留。若程序于该命名空间声明或定义任何内容,则行为未定义。 (C++11 起)

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

if
elif
else
endif
defined

ifdef
ifndef
define
undef

include
line
error
pragma

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

_Pragma(C++11 起)

为本页面评分: