Punctuation
From cppreference.net
これらはC++の句読点記号です。各記号の意味はリンク先のページで詳しく説明されています。
目次 |
プリプロセス演算子
プリプロセッサ演算子は プリプロセッサ によって認識されます。
# (を含む % : )
- プリプロセッシングディレクティブを 導入する 。
- 文字列化のためのプリプロセッシング演算子 。
## (含む % : % : )
単一文字演算子と区切り文字
{ および } ( < % および % > を含む)
| (C++11以降) |
|
(C++20以降) |
[ および ] ( < : および : > を含む)
- 添字演算子 ; operator [ ] の一部( 演算子オーバーロード 内)
- 配列宣言子 の一部( 宣言 または 型指定子 内、例: 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 において、グループ化を示します。
- パラメータリストを区切ります
-
- a function declarator (in a declaration or a type-id )
| (C++11以降) | |
| (C++17以降) | |
| (C++20以降) |
タグ内のテキストは翻訳せず保持
- C++専門用語(lambda expression, user-defined deduction guide, requires expression)は原文のまま保持
- 「since C++XX」は「C++XX以降」と自然な日本語に翻訳
- 接続詞「a」は文脈に合わせて適切に翻訳
- 直接初期化 構文の一部としての 初期化子 。
- asm宣言 内で、文字列リテラルを区切る。
- メンバ初期化子リスト 内で、基底クラスまたはメンバへの初期化子を区切る。
- 選択文または反復文の制御節を区切る。以下を含む:
| (C++11以降) |
- ハンドラ内で、パラメータ宣言を区切ります。
- 関数形式マクロ定義内で、マクロパラメータを区切ります。
- 関数形式マクロ呼び出し内で、マクロ引数を区切るか、カンマが引数区切りとして解釈されるのを防ぎます。
-
defined,__has_include(C++17以降) ,__has_cpp_attribute(C++20以降) プリプロセッサ演算子の一部。
|
(C++11以降) | ||
|
(C++14以降) | ||
|
(C++17以降) | ||
|
(C++20以降) |
;
- 終了を示す
| (C++20以降) |
- for 文 の 条件式 と 文 を分離します。
:
- 条件演算子 の一部。
- ラベル宣言 の一部。
- クラス定義 の base-clause において、 基底クラス を導入する。
- メンバー指定における アクセス指定子 の一部。
- ビットフィールドメンバー宣言 において、幅を導入する。
- コンストラクタ 定義において、メンバー初期化子リストを導入する。
| (C++11以降) | |
|
(C++17以降) |
|
(C++20以降) |
?
- 条件演算子 の一部。
.
|
(C++20 以降) |
~ (含む compl )
- 単項補数演算子(別名:ビット単位NOT演算子) ; operator~ の一部として 演算子オーバーロード に含まれる。
- 識別子式 の一部として、 デストラクタ または擬似デストラクタを指定するために使用される。
! (including not )
- 論理否定演算子 ; operator ! の一部( 演算子オーバーロード において)。
|
(C++23以降) |
+
- 単項プラス演算子 ; operator + の一部( 演算子オーバーロード において)
- 二項プラス演算子 ; operator + の一部( 演算子オーバーロード において)
-
- 単項マイナス演算子 ; 演算子オーバーロード における operator - の一部
- 二項マイナス演算子 ; 演算子オーバーロード における operator - の一部
*
- 間接参照演算子 ; operator * の一部( 演算子オーバーロード において)。
- 乗算演算子 ; operator * の一部( 演算子オーバーロード において)。
- 宣言子 または 型指定子 におけるポインタ演算子、またはメンバへのポインタ演算子の一部。
|
(C++17以降) |
/
- 除算演算子 ; 演算子オーバーロード における operator / の一部。
%
- 剰余演算子 ; operator % の一部として 演算子オーバーロード で使用されます。
^ (排他的論理和を含む)
- ビット単位XOR演算子 ; operator ^ の一部として 演算子オーバーロード で使用されます。
& (including bitand )
- アドレス取得演算子 ; 演算子オーバーロード における operator & の一部
- ビット単位AND演算子 ; 演算子オーバーロード における operator & の一部
- 宣言子 または 型ID における左辺値参照演算子
|
(C++11以降) |
| (ビットOR演算子 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 における配置引数リスト
- 関数呼び出し式 における引数リスト
- enum 宣言における列挙子リスト
- クラス 宣言における 基底クラス リスト
- コンストラクタ 定義におけるメンバ初期化子リスト
- 関数パラメータリスト
- テンプレートパラメータリスト
- テンプレート引数リスト
|
(C++11以降) |
|
(C++17以降) |
| (C++23以降) |
-
- 関数形式マクロ定義における マクロパラメータリスト
- 関数形式マクロ呼び出しにおける マクロ引数リスト (引数の括弧内で見つかった場合を除く)
|
(C++11以降) |
マルチキャラクタ演算子と区切り文字
...
| (C++11以降) | |
|
(C++26以降) |
::
- スコープ解決演算子
-
- 修飾名
- メンバへのポインタ宣言
-
newまたはdelete式(グローバルな割り当て関数または解放関数のみが検索されることを示す)
|
(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 == の一部。 演算子オーバーロード 内で使用。
! = (including not_eq )
- 非等価演算子 ; operator ! = の一部であり、 演算子オーバーロード におけるものです。
<=
- 小なりイコール演算子 ; operator <= の一部として、 演算子オーバーロード で使用されます。
>=
- 以上演算子 ; operator >= の一部であり、 演算子オーバーロード に含まれる。
タグ内のC++コード(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規格 (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ドキュメント
for
句読点
|
|