命名空间
变体
操作

标点符号

来自 cppreference.cn
< cpp‎ | language
 
 
C++ 语言
通用主题
流程控制
条件执行语句
if
迭代语句(循环)
for
范围 for (C++11)
跳转语句
函数
函数声明
Lambda 函数表达式
inline 说明符
动态异常规范 (在 C++11 中弃用*)
noexcept 说明符 (C++11)
异常
命名空间
类型
说明符
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
存储期说明符
初始化
 
 

这些是 C++ 中的标点符号。每个符号的含义在链接的页面中详细说明。

目录

[编辑] 预处理运算符

预处理运算符由预处理器识别。

[编辑] #(包括 %:

[编辑] ##(包括 %:%:

[编辑] 单字符运算符和标点符号

[编辑] {}(包括 <%%>

(自 C++11)
(自 C++20)

[编辑] [](包括 <::>

(自 C++11)
(自 C++17)
(自 C++26)

[编辑] ()

(自 C++11)
(自 C++11)
(自 C++17)
(自 C++20)
(自 C++11)
  • 处理块中,分隔形参声明。
  • 函数式宏定义中,分隔宏形参。
  • 函数式宏调用中,分隔宏实参或阻止逗号被解释为实参分隔符。
  • 作为 defined__has_include(自 C++17)__has_cpp_attribute(自 C++20) 预处理运算符的一部分。
  • static_assert 声明中,分隔操作数。
  • 分隔以下说明符的操作数
(自 C++20)
  • 属性中,分隔属性实参。
(自 C++11)
(自 C++14)
(自 C++17)
  • 作为变参宏定义中 __VA_OPT__ 替换的一部分。
(自 C++20)

[编辑] ;

  • 指示以下各项的结尾
  • 模块声明、导入声明、全局模块片段引入器或私有模块片段引入器
  • 要求
(自 C++20)

[编辑] :

(自 C++11)
(自 C++17)
(自 C++20)

[编辑] ?

[编辑] .

(自 C++20)

[编辑] ~ (包括 compl

[编辑] ! (包括 not

(自 C++23)

[编辑] +

[编辑] -

[编辑] *

  • lambda 捕获列表中,作为 *this 的一部分,用于按值捕获当前对象。
(自 C++17)

[编辑] /

[编辑] %

[编辑] ^ (包括 xor

[编辑] & (包括 bitand

(自 C++11)

[编辑] | (包括 bitor

[编辑] =

  • lambda 捕获中,作为默认捕获,指示按值捕获。
  • 默认定义的一部分(=default;)或删除的定义(=delete;)在函数定义中。
  • 类型别名声明中,分隔别名和别名化的类型。
(自 C++11)
  • 概念定义中,分隔概念名称和约束表达式。
(自 C++20)

[编辑] <

(自 C++20)
  • template<> 的一部分,在模板特化声明中。
  • 在以下情况中引入头文件名:
(自 C++17)
(自 C++20)

[编辑] >

(自 C++20)
  • template<> 的一部分,在模板特化声明中。
  • 指示头文件名的结束,在以下情况中:
(自 C++17)
(自 C++20)

[编辑] ,

(自 C++11)
(自 C++17)
(自 C++23)
(自 C++11)

[编辑] 多字符运算符和标点符号

[编辑] ...

  • 在函数声明符的形参列表或 lambda 表达式(自 C++11 起)或用户定义的推导指引(自 C++17 起),表示可变参数函数
  • 处理程序 中,表示捕获所有处理程序。
  • 宏定义 中,表示可变参数宏。
  • 指示声明和展开。
(自 C++11)
(自 C++26)

[编辑] ::

  • 作用域解析运算符,在以下情况中:
  • 属性 中,指示属性作用域。
(自 C++11)
(自 C++17)

[编辑] .*

[编辑] ->

(自 C++11)
(自 C++17)
(自 C++20)

[编辑] ->*

[编辑] +=

[编辑] -=

[编辑] *=

[编辑] /=

[编辑] %=

[编辑] ^= (包括 xor_eq

[编辑] &= (包括 and_eq

[编辑] |= (包括 or_eq

[编辑] ==

[编辑] != (包括 not_eq

[编辑] <=

[编辑] >=

<=>

(自 C++20)

[编辑] && (包括 and

(自 C++11)

[编辑] || (包括 or

[编辑] <<

[编辑] >>

[编辑] <<=

[编辑] >>=

[编辑] ++

[编辑] --

[编辑] 参考文献

  • C++23 标准 (ISO/IEC 14882:2024)
  • 5.12 运算符和标点符号 [lex.operators]
  • C++20 标准 (ISO/IEC 14882:2020)
  • 5.12 运算符和标点符号 [lex.operators]
  • C++17 标准 (ISO/IEC 14882:2017)
  • 5.12 运算符和标点符号 [lex.operators]
  • C++14 标准 (ISO/IEC 14882:2014)
  • 2.13 运算符和标点符号 [lex.operators]
  • C++11 标准 (ISO/IEC 14882:2011)
  • 2.13 运算符和标点符号 [lex.operators]
  • C++03 标准 (ISO/IEC 14882:2003)
  • 2.12 运算符和标点符号 [lex.operators]
  • C++98 标准 (ISO/IEC 14882:1998)
  • 2.12 运算符和标点符号 [lex.operators]

[编辑] 参见

替代表示 某些运算符的替代拼写[编辑]
C 文档关于 标点符号