C++关键字

来自cppreference.com
< cpp
 
 
C++语言

|- class="t-nv-h1" | colspan="5" | 一般主题 |- | |- |

预处理器
注释

|

关键字
转义序列

|-

|- class="t-nv-h1" | colspan="5" | 流程控制 |-

条件执行语句

| |- |

|

|-

循环语句

| |- |

|

|-

跳转语句

| |- |

|

|-

|- class="t-nv-h1" | colspan="5" | 函数 |-

函数声明 Lambda函数声明 inline说明符 异常说明符 (已弃用) noexcept说明符 (C++11)

|- class="t-nv-h1" | colspan="5" | Exceptions |- | |- |

|

|-

|- class="t-nv-h1" | colspan="5" | 命名空间 |- | |- |

|

|-

|- class="t-nv-h1" | colspan="5" | 类型 |- | |- |

|

|-

说明符

| |- |

decltype (C++11)
auto (C++11)
alignas (C++11)

|

|-

存储持续期说明符 Initialization

| |- |

|

|-

|- class="t-nv-h1" | colspan="5" | 表达式 |- | |- |

值类别
求值顺序

|

|-

替代表示 字面量 布尔型 - 整型 - 浮点型 字符型 - 字符串 - nullptr (C++11) 用户定义 (C++11)

|- class="t-nv-h1" | colspan="5" | Utilities |-

属性 (C++11) Types typedef声明 类型别名声明 (C++11) Casts 隐式类型转换 - 显示类型转换 static_cast - dynamic_cast const_cast - reinterpret_cast 内存分配

| |- |

|

|-

|- class="t-nv-h1" | colspan="5" | 类 |- | |- |

|

|-

类特有的函数属性

| |- |

|

explicit (C++11)
static

|-

静态成员函数

| |- |

|

|- |- class="t-nv-h1" | colspan="5" | 模板 |- | |- |

|

|- |- class="t-nv-h1" | colspan="5" | 杂项 |- | |- |

|

|-

 
 

这是C++的保留关键字的列表。由于他们已被语言使用,这些关键字不可重新定义或重载。

alignas (since C++11)
alignof (since C++11)
and
and_eq
asm
auto(1)
bitand
bitor
bool
break
case
catch
char
char16_t(since C++11)
char32_t(since C++11)
class
compl
concept (概念TS)
const
constexpr(since C++11)
const_cast
continue
decltype(since C++11)
default(1)
delete(1)
do
double
dynamic_cast

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

requires (概念TS)
return
short
signed
sizeof
static
static_assert(since C++11)
static_cast
struct
switch
template
this
thread_local(since C++11)
throw
true
try
typedef
typeid
typename
union
unsigned
using(1)
virtual
void
volatile
wchar_t
while
xor
xor_eq

注意,andbitororxorcomplbitandand_eqor_eqxor_eqnotnot_eq(以及双字符组<%%><::>%:%:%:)提供另一种方式表示标准标记

除了关键字,还有两个“具有特殊意义的标识符”,它们可用于作为对象或函数的名称,但在某些上下文中具有特殊的意义。

override (C++11)

final (C++11)

此外,每一个包含一个双下划线__或以一个下划线后接一个大写字母开头的标识符总是被保留的。所有以下划线开头的的名称在全局命名空间中也是被保留的。参见标识符页面中的详细解释。

命名空间std用于C++标准库的名字。参见为std名字空间添加名字

名字posix被保留用作顶层命名空间的名字。在该命名空间中任何声明及定义都将引起未定义行为。 (since C++11)

在预处理指令中,下列标记会别预处理器识别:

if
elif
else
endif
defined

ifdef
ifndef
define
undef

include
line
error
pragma

下列标记会会别预处理器在预处理指令之外识别:

_Pragma(since C++11)

[编辑] See also

C语言文档 for C语言关键字
来自“http://zh.cppreference.com/mwiki/index.php?title=cpp/keyword&oldid=38933