句読点
From cppreference.com
これらはC++における句読点記号です。各記号の意味は、リンク先のページで詳しく説明されています。
目次 |
[編集] プリプロセッシング演算子
プリプロセッシング演算子はプリプロセッサによって認識されます。
[編集] # ( %: を含む)
[編集] ##( %:%: を含む)
[編集] 単一文字演算子と区切り文字
[編集] { と } ( <% と %> を含む)
| (C++11以降) |
|
(C++20以降) |
[編集] [ と ] ( <: と :> を含む)
- 添字演算子。演算子オーバーロードにおけるoperator[]の一部。
- 宣言または型ID(例: new 式)における配列宣言子の一部。
- 演算子オーバーロード(アロケーション関数)におけるnew[]演算子の一部。
- delete式および演算子オーバーロード(デアロケーション関数)におけるdelete[]演算子の一部。
| (C++11以降) | |
|
(C++17以降) |
| (C++26以降) |
[編集] ( と )
- 式において、グループ化を示します。
- 関数呼び出し演算子。演算子オーバーロードにおけるoperator()の一部。
- 関数スタイル型キャストにおいて、式/初期化子を区切ります。
static_cast、const_cast、reinterpret_cast、またはdynamic_castにおいて、式を区切ります。- 以下の演算子のオペランドを区切ります
| (C++11以降) |
- 配置new式において、配置引数を区切ります。
- new式において、型IDを任意で区切ります。
- new式において、初期化子を区切ります。
- Cスタイルキャストにおいて、型IDを区切ります。
- 宣言または型IDにおいて、グループ化を示します。
- 以下のパラメーターリストを区切ります。
| (C++11以降) | |
| (C++17以降) | |
| (C++20以降) |
- 初期化子の直接初期化構文の一部。
- asm宣言において、文字列リテラルを区切ります。
- メンバ初期化子リストにおいて、基底またはメンバへの初期化子を区切ります。
- 選択ステートメントまたは反復ステートメントの制御句を区切ります。これには以下が含まれます。
| (C++11以降) |
- ハンドラにおいて、パラメータ宣言を区切ります。
- 関数のようなマクロ定義において、マクロパラメータを区切ります。
- 関数のようなマクロ呼び出しにおいて、マクロ引数を区切るか、カンマが引数区切り文字として解釈されるのを防ぎます。
defined、__has_include(C++17以降)、__has_cpp_attribute(C++20以降)プリプロセッシング演算子の一部。
|
(C++11以降) | ||
|
(C++14以降) | ||
|
(C++17以降) | ||
|
(C++20以降) |
[編集] ;
- 以下の終わりを示します。
| (C++20以降) |
- forステートメントの条件とステートメントを区切ります。
[編集] :
- 条件演算子の一部。
- ラベル宣言の一部。
- クラス定義の基底句において、基底クラスを導入します。
- メンバ指定におけるアクセス指定子の一部。
- ビットフィールドメンバ宣言において、幅を導入します。
- コンストラクタ定義において、メンバ初期化子リストを導入します。
| (C++11以降) | |
|
(C++17以降) |
|
(C++20以降) |
[編集] ?
- 条件演算子の一部。
[編集] .
|
(C++20以降) |
[編集] ~ ( compl を含む)
- 単項補数演算子 (ビットごとのNOT演算子)。演算子オーバーロードにおけるoperator~の一部。
- デストラクタまたは擬似デストラクタに名前を付けるための識別子式の一部。
[編集] ! ( not を含む)
- 論理NOT演算子。演算子オーバーロードにおけるoperator!の一部。
|
(C++23から) |
[編集] +
- 単項プラス演算子。演算子オーバーロードにおけるoperator+の一部。
- 二項プラス演算子。演算子オーバーロードにおけるoperator+の一部。
[編集] -
- 単項マイナス演算子。演算子オーバーロードにおけるoperator-の一部。
- 二項マイナス演算子。演算子オーバーロードにおけるoperator-の一部。
[編集] *
- 間接参照演算子。演算子オーバーロードにおけるoperator*の一部。
- 乗算演算子。演算子オーバーロードにおけるoperator*の一部。
- 宣言子または型IDにおけるポインタ演算子またはメンバポインタ演算子の一部。
|
(C++17以降) |
[編集] /
- 除算演算子。演算子オーバーロードにおけるoperator/の一部。
[編集] %
- 剰余演算子。演算子オーバーロードにおけるoperator%の一部。
[編集] ^ ( xor を含む)
- ビットごとのXOR演算子。演算子オーバーロードにおけるoperator^の一部。
[編集] & ( bitand を含む)
- アドレス演算子。演算子オーバーロードにおけるoperator&の一部。
- ビットごとのAND演算子。演算子オーバーロードにおけるoperator&の一部。
- 宣言子または型IDにおける左辺値参照演算子。
| (C++11以降) |
[編集] | ( bitor を含む)
- ビットごとのOR演算子。演算子オーバーロードにおけるoperator|の一部。
[編集] =
- 単純代入演算子。演算子オーバーロードにおけるoperator=の一部であり、これは特殊メンバ関数(コピー代入演算子またはムーブ代入演算子(C++11以降))である可能性があります。
- 初期化子のコピー初期化および集約初期化(C++11まで)コピーリスト初期化(C++11以降)構文の一部。
- 関数宣言において、デフォルト引数を導入します。
- テンプレートパラメータリストにおいて、デフォルトテンプレート引数を導入します。
- 名前空間エイリアス定義において、エイリアスとエイリアスされた名前空間を区切ります。
- 列挙定義において、列挙子の値を導入します。
- 純粋仮想関数宣言における純粋指定子の一部。
| (C++11以降) | |
|
(C++20以降) |
[編集] <
- 小なり演算子。演算子オーバーロードにおけるoperator<の一部。
static_cast、const_cast、reinterpret_cast、またはdynamic_castにおいて、型IDを導入します。- テンプレート引数リストを導入します。
- 以下のテンプレートパラメータリストを導入します。
| (C++20以降) |
- テンプレート特殊化宣言におけるtemplate<>の一部。
- 以下のヘッダー名を導入します。
| (C++17以降) | |
| (C++20以降) |
[編集] >
- 大なり演算子。演算子オーバーロードにおけるoperator>の一部。
-
static_cast、const_cast、reinterpret_cast、またはdynamic_castにおいて、型IDの終わりを示します。 - テンプレート引数リストの終わりを示します。
- 以下のテンプレートパラメータリストの終わりを示します。
| (C++20以降) |
- テンプレート特殊化宣言におけるtemplate<>の一部。
- 以下のヘッダー名の終わりを示します。
| (C++17以降) | |
| (C++20以降) |
[編集] ,
- カンマ演算子。演算子オーバーロードにおけるoperator,の一部。
- 以下のリスト区切り文字。
- 宣言における宣言子リスト
- 初期化における初期化子リスト
- 配置newにおける配置引数リスト
- 関数呼び出し式における引数リスト
- 列挙型宣言における列挙子リスト
- クラス宣言における基底クラスリスト
- コンストラクタ定義におけるメンバ初期化子リスト
- 関数パラメータリスト
- テンプレートパラメータリスト
- テンプレート引数リスト
| (C++11以降) | |
| (C++17以降) | |
|
(C++23から) |
- 関数のようなマクロ定義におけるマクロパラメータリスト
- 関数のようなマクロ呼び出しにおけるマクロ引数リスト(ただし、引数の括弧内に見つかった場合は除く)
|
(C++11以降) |
[編集] 複数文字演算子と区切り文字
[編集] ...
| (C++11以降) | |
|
(C++26以降) |
[編集] ::
- 以下のスコープ解決演算子。
|
(C++11以降) |
|
(C++17以降) |
[編集] .*
[編集] ->
- メンバアクセス演算子。演算子オーバーロードにおけるoperator->の一部。
| (C++11以降) | |
|
(C++17以降) |
|
(C++20以降) |
[編集] ->*
- メンバポインタアクセス演算子。演算子オーバーロードにおけるoperator->*の一部。
[編集] +=
- 複合代入演算子。演算子オーバーロードにおけるoperator+=の一部。
[編集] -=
- 複合代入演算子。演算子オーバーロードにおけるoperator-=の一部。
[編集] *=
- 複合代入演算子。演算子オーバーロードにおけるoperator*=の一部。
[編集] /=
- 複合代入演算子。演算子オーバーロードにおけるoperator/=の一部。
[編集] %=
- 複合代入演算子。演算子オーバーロードにおけるoperator%=の一部。
[編集] ^= ( xor_eq を含む)
- 複合代入演算子。演算子オーバーロードにおけるoperator^=の一部。
[編集] &= ( and_eq を含む)
- 複合代入演算子。演算子オーバーロードにおけるoperator&=の一部。
[編集] |= ( or_eq を含む)
- 複合代入演算子。演算子オーバーロードにおけるoperator|=の一部。
[編集] ==
- 等価演算子。演算子オーバーロードにおけるoperator==の一部。
[編集] != ( not_eq を含む)
- 不等価演算子。演算子オーバーロードにおけるoperator!=の一部。
[編集] <=
- 小なりイコール演算子。演算子オーバーロードにおけるoperator<=の一部。
[編集] >=
- 大なりイコール演算子。演算子オーバーロードにおけるoperator>=の一部。
<=>
|
(C++20以降) |
[編集] && ( and を含む)
- 論理AND演算子。演算子オーバーロードにおけるoperator&&の一部。
| (C++11以降) |
[編集] || ( or を含む)
- 論理OR演算子。演算子オーバーロードにおけるoperator||の一部。
[編集] <<
- ビットごとのシフト演算子。演算子オーバーロードにおけるoperator<<の一部(ビットごとの演算子またはストリーム挿入演算子)。
[編集] >>
- ビットごとのシフト演算子。演算子オーバーロードにおけるoperator>>の一部(ビットごとの演算子またはストリーム抽出演算子)。
[編集] <<=
- 複合代入演算子。演算子オーバーロードにおけるoperator<<=の一部。
[編集] >>=
- 複合代入演算子。演算子オーバーロードにおけるoperator>>=の一部。
[編集] ++
- インクリメント演算子。演算子オーバーロードにおけるoperator++の一部。
[編集] --
- デクリメント演算子。演算子オーバーロードにおけるoperator--の一部。
[編集] 参照
- C++23標準 (ISO/IEC 14882:2024)
- 5.12 演算子と区切り文字 [lex.operators]
- C++20 standard (ISO/IEC 14882:2020)
- 5.12 演算子と区切り文字 [lex.operators]
- C++17 standard (ISO/IEC 14882:2017)
- 5.12 演算子と区切り文字 [lex.operators]
- C++14 standard (ISO/IEC 14882:2014)
- 2.13 演算子と区切り文字 [lex.operators]
- C++11 standard (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 のドキュメント 句読点について
| |