命名空间
变体
操作

标点

来自 cppreference.cn
< cpp‎ | 语言
 
 
C++ 语言
 
 

这些是 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)

[编辑] =

(C++11 起)
  • 概念定义中,分隔概念名称和约束表达式。
(C++20 起)

[编辑] <

(C++20 起)
  • 模板特化声明中,作为 template<> 的一部分。
  • 在以下内容中引入头文件名称
(C++17 起)
(C++20 起)

[编辑] >

(C++20 起)
(C++17 起)
(C++20 起)

[编辑] ,

(C++11 起)
(C++17 起)
(C++23 起)
(C++11 起)

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

[编辑] ...

  • 在函数声明符或 lambda 表达式(C++11 起)或用户定义推导指南(C++17 起)参数列表中,表示变参函数
  • 处理程序中,表示 catch-all 处理程序。
  • 宏定义中,表示变参宏。
  • 表示声明和展开。
(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 文档中的 标点符号