命名空间
变体
操作

标点符号

来自 cppreference.com
< 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 起)

[edit] ,

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

[edit] 多字符运算符和分隔符

[edit] ...

(自 C++11 起)
(自 C++26 起)

[edit] ::

  • 作用域解析运算符,用于:
  • 属性中,指示属性的作用域。
(自 C++11 起)
(自 C++17 起)

[edit] .*

[edit] ->

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

[edit] ->*

[edit] +=

[edit] -=

[edit] *=

[edit] /=

[edit] %=

[edit] ^= (包括 xor_eq)

[edit] &= (包括 and_eq)

[edit] |= (包括 or_eq)

[edit] ==

[edit] != (包括 not_eq)

[edit] <=

[edit] >=

<=>

(自 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 文档 中的 标点符号