名前空間
変種
操作

基本概念

From cppreference.com
< cpp‎ | language
 
 
C++言語
全般
フロー制御
条件実行文
if
繰り返し文 (ループ)
for
範囲for (C++11)
ジャンプ文
関数
関数宣言
ラムダ式
inline指定子
動的例外仕様 (C++17まで*)
noexcept指定子 (C++11)
例外
名前空間
指定子
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点数
文字 - 文字列 - nullptr (C++11)
ユーザー定義 (C++11)
ユーティリティ
属性 (C++11)
typedef宣言
型エイリアス宣言 (C++11)
キャスト
メモリ確保
クラス
クラス固有の関数プロパティ
explicit (C++11)
static

特殊メンバ関数
テンプレート
その他
 
 

このセクションでは、C++プログラミング言語を説明する際に使用される専門用語と概念の定義を説明します。

C++プログラムは、宣言 (declaration) を含むテキストファイル (通常はヘッダーファイルとソースファイル) のシーケンスです。これらは翻訳 (translation) を経て実行可能プログラムになります。実行可能プログラムは、C++実装がそのmain関数を呼び出すことで実行されます。

C++プログラム内の一部の単語は特別な意味を持ち、これらはキーワード (keyword) として知られています。その他の単語は識別子 (identifier)として使用できます。コメント (comment) は翻訳中に無視されます。C++プログラムにはリテラル (literal) も含まれ、その中の文字の値は文字セットとエンコーディングによって決定されます。プログラム内の一部の文字は、エスケープシーケンスで表現する必要があります。

C++プログラムのエンティティ (entity) とは、値、オブジェクト (object)参照 (reference)構造化束縛 (structured binding)(C++17以降)結果束縛 (result binding)(C++26以降)関数 (function)列挙子 (enumerator)型 (type)、クラスメンバ、テンプレート (template)テンプレート特殊化 (template specialization)パック (pack)(C++11以降)、そして名前空間 (namespace) です。プリプロセッサのマクロはC++のエンティティではありません。

宣言はエンティティを導入し、それらを名前 (name) と関連付け、そのプロパティを定義することがあります。エンティティを使用するために必要なすべてのプロパティを定義する宣言は、定義 (definition) です。プログラムは、ODR-usedされる非インライン関数または変数の定義を1つだけ含まなければなりません。

関数の定義には通常、文 (statement) のシーケンスが含まれます。その一部には、プログラムによって実行される計算を指定する式 (expression) が含まれます。

プログラム内で遭遇する名前は、名前探索 (name lookup) を使用して、それらを導入した宣言と関連付けられます。各名前は、そのスコープ (scope) と呼ばれるプログラムの一部でのみ有効です。一部の名前はリンケージ (linkage) を持ち、異なるスコープや翻訳単位に現れたときに同じエンティティを参照するようにします。

C++の各オブジェクト、参照、関数、式は型 (type) に関連付けられており、それは基本 (fundamental) 型、複合 (compound) 型、またはユーザー定義 (user-defined) 型、完全 (complete) 型または不完全 (incomplete) 型などがあります。

非静的データメンバ (non-static data member) ではない、宣言されたオブジェクトと宣言された参照は変数 (variable) です。

[編集] 関連項目

基本的な概念C言語ドキュメント
English 日本語 中文(简体) 中文(繁體)