C++ 関連の略語¶
ABI | Application Binary Interface¶
アプリケーション・バイナリ・インタフェース
ACCU | Association of C and C++ Users¶
C および C++ ユーザ協会。年次カンファレンス の開催や「Overload」の刊行などを行う。
ADL | Argument Dependent Lookup¶
実引数依存の名前検索
ANSI | American National Standards Institute¶
米国国家規格協会
API | Application Programming Interface¶
アプリケーション・プログラミング・インタフェース
ASan | AddressSanitizer¶
メモリ関連のエラーを検出する動的解析ツール
BCC | Borland C++ Compiler¶
現在の Embarcadero C++ Builder の前身。2000 年にリリースされた Borland C++ Compiler 5.5 は、当時はめずらしい無償の C++ コンパイラとして、広く使われた。
BCPL | Basic Combined Programming Language¶
1966 年にマーティン・リチャーズが設計したプログラミング言語。C 言語や C++ に影響を与えた。
BMI | Binary Module Interface¶
コンパイラがモジュールファイルをコンパイルして生成する中間ファイル。GCC では CMI (Compiled Module Interfaces) と呼ぶ
C++ AMP | C++ Accelerated Massive Parallelism¶
マイクロソフトなどが開発を進めている、並列計算のための言語拡張機能とライブラリ
CD | Committee Draft¶
規格の委員会原案
COW | Copy On Write¶
コピーオンライトと呼ばれる最適化テクニック
CPO | Customization point object¶
C++20 以降の標準ライブラリで提供される、カスタマイゼーションポイントオブジェクトと呼ばれる関数オブジェクト(参考記事)
CPP | C Preprocessor¶
マクロを処理するプリプロセッサ
CRTP | Curiously Recurring Template Pattern¶
奇妙に再帰したテンプレートパターン
CTAD | Class Template Argument Deduction¶
クラステンプレートのテンプレート引数推論
CTRE | Compile Time Regular Expressions¶
コンパイル時正規表現
CWG | Core Working Group¶
C++ 標準化委員会のワーキンググループの 1 つ。言語機能に関する規格文面をレビューする。
deque | double-ended queue¶
両端キュー
D&E | The Design and Evolution of C++¶
Bjarne Stroustrup による C++ の設計と歴史の解説書。1994 年に発売。
DIS | Draft International Standard¶
国際規格案
DR | Defect Report¶
規格の欠陥の報告
EBO | Empty Base Optimization¶
空の基底クラスの最適化
EDG | Edison Design Group¶
企業名。C/C++ コンパイラフロントエンドを開発する。Edison Design Group
EMC++ | Effective Modern C++¶
Scott Meyers による C++11/14 の解説書
EOF | End-of-File¶
ファイルの終端
EWG | Evolution Working Group¶
C++ 標準化委員会のワーキンググループの 1 つ。言語機能の設計をする。
EWGI | Evolution Working Group Incubator¶
C++ 標準化委員会のスタディグループの 1 つ (SG17). EWG に向けた提案の評価をする。
FCD | Final Committee Draft¶
規格の最終委員会原案
FDIS | Final Draft International Standard¶
最終国際規格案
FIFO | First in, first out¶
std::queue
のように、最初に追加した要素から順番に取り出していくデータ構造や手順
GCC | GNU Compiler Collection / GNU C++ Compiler¶
GNU コンパイラコレクション、またはその C++ コンパイラ
GMF | Global Module Fragment¶
グローバルモジュールフラグメント
G++ | GNU C++ Compiler¶
GNU コンパイラコレクションの C++ コンパイラ
ICE | Internal Compiler Error¶
コンパイラ内部エラー
IDE | Integrated Development Enviornment¶
統合開発環境
IEC | International Electronics Commission¶
国際電気標準会議
I/O | Input/Output¶
入出力
IS | International Standard¶
国際規格
ISO | International Organization for Standardization¶
国際標準化機構
K&R | Kernighan and Ritchie's¶
ブライアン・カーニハンとデニス・リッチーによる著書「プログラミング言語 C」の俗称。書中で使われている字下げスタイルが「K&R スタイル」と呼ばれる。
LEWG | Library Evolution Working Group¶
C++ 標準化委員会のワーキンググループの 1 つ。標準ライブラリの設計をする。
LEWGI | Library Evolution Working Group Incubator¶
C++ 標準化委員会のスタディグループの 1 つ (SG18). LEWG に向けた提案の評価をする。
LHS | left-hand side¶
式の左辺
LIFO | Last-in, first-out¶
std::stack
のように、最も新しく追加された要素から、入れたのとは逆順で取り出していくデータ構造や手順
LTO | Link Time Optimization¶
リンク時最適化
LWG | Library Working Group¶
C++ 標準化委員会のワーキンググループの 1 つ。標準ライブラリに関する規格文面をレビューする。
MSVC | Microsoft Visual C++¶
Microsoft Visual Studio の C++ コンパイラ
NaN | Not a Number¶
浮動小数点数で使われる非数の表現
NB | National Body¶
標準化委員会の各国支部
NDR | No Diagnostic Required¶
C++ の言語仕様には沿っていないが、コンパイル時間の短縮のためにコンパイラはメッセージを出力しなくてもよいとされている違反
NRVO | Named Return Value Optimization¶
名前付き戻り値の最適化
NSDMI | Non-Static Data Member Initializers¶
非静的メンバの初期化
NTBS | Null-terminated Byte Strings¶
ヌル文字で終了する、各文字が 1 バイトで表現される文字配列
NTMBS | Null-terminated Multibyte Strings¶
ヌル文字で終了する、各文字がマルチバイトで表現されることがある文字配列
NTTP | Non-Type Template Parameter¶
非型テンプレート・パラメータ
NVI | Non-Virtual Interface¶
非仮想インターフェース。C++ のプログラミングテクニック
ODR | One Definition Rule¶
C++ の設計コンセプトの 1 つ。あらゆる型や関数、テンプレートは複数の定義を持てないというルール
OOD | Object Oriented Design¶
オブジェクト指向設計
OOP | Object Oriented Programming¶
オブジェクト指向プログラミング
OOPL | Object Oriented Programing Language¶
オブジェクト指向プログラミング言語
PCH | Precompiled Header¶
プリコンパイル済みヘッダ
PGO | Profile-guided Optimization¶
プロファイリングによる最適化
PImpl | Pointer to Implementation¶
クラスの実装の詳細を隠す、C++ のプログラミングテクニック
PMF | Pointer to Member Function¶
メンバ関数へのポインタ
POD | Plain Old Data¶
C 言語と互換性のあるオブジェクトレイアウトを持つ型
RAII | Resource Allocation Is Initialization¶
「リソース取得は初期化である」という C++ のプログラミングテクニック
RHS | right-hand side¶
式の右辺
RTTI | Run-Time Type Information¶
実行時型情報
RVO | Return Value Optimization¶
戻り値の最適化
SBO | Small Buffer Optimization¶
小さい動的配列でのメモリアロケーションを避ける C++ の最適化テクニック
SD | Standing Document¶
標準化委員会の常備文書 (https://isocpp.org/std/standing-documents)
SEH | Structured Exception Handling¶
構造化例外処理。Windows で使われる独自の例外処理。
SFINAE | Substitution Failure Is Not An Error¶
テンプレートプログラミングのテクニックの 1 つ
SG | Study Group¶
特定のテーマについて議論する、C++ 標準化委員会のサブグループ
SIMD | Single Instruction Multiple Data¶
並列処理の分類の 1 つで、1 つの命令による操作を複数のデータに対して同時に行うもの
SOO | Small Object Optimization¶
小さなオブジェクトに対するメモリアロケーションを避ける C++ の最適化テクニック
SSO | Small String Optimization¶
短い文字列でのメモリアロケーションを避ける C++ の最適化テクニック
STL | Standard Template Library¶
アレクサンダー・ステパノフらによって設計された標準テンプレートライブラリ。のちに C++ の標準ライブラリの一部となった。現在では C++ 標準ライブラリ全般を指して STL と呼ぶこともある。
T | Type¶
template <class T>
のように、テンプレート引数でよく使われる名前。テンプレート引数がさらに登場する場合には、アルファベット順で次に来る U
が使われることがある。
TC++PL | The C++ Programming Language¶
Bjarne Stroustrup による C++ 解説書シリーズの 1 つ。プログラマ向け。2013 年の第 4 版が最新。
TLS | Thread Local Storage¶
スレッド局所記憶
TMP | Template Meta Programming¶
テンプレートメタプログラミング
TR | Technical Report¶
実験的な C++ の機能に関する報告書、現在は TS に移行
TS | Technical Specification¶
実験的な C++ の機能に関する仕様書
TU | Translation Unit¶
翻訳単位
UB | Undefined Behavior¶
未定義動作
UCN | Universal Character Name¶
ユニバーサル文字名。char32_t s = U'\U0001F60E';
のように、文字・文字列リテラルにおいて Unicode コードポイントにより表された文字
UDL | User-Defined Literals¶
ユーザ定義リテラル
URBG | Uniform Random Bit Generator¶
一様ランダムビット生成器。C++14 までは URNG (Uniform Random Number Generator) という語を使用していた。
VLA | Variable Length Array¶
可変長配列。GCC が拡張機能としてサポートし、C99 では正式に採用されているが、C++ 標準ではサポートしない。
VLAIS | Variable Length Array In Structure¶
構造体内に可変長配列を宣言できる、GCC の拡張機能
VMT | Virtual Method Table¶
仮想関数テーブル
WD | Working Draft¶
規格の作業原案
WG | Working Group¶
作業グループ
参考文献¶
- Acronyms | cppreference.com
https://en.cppreference.com/w/cpp/language/acronyms - A C++ acronym glossary
https://quuxplusone.github.io/blog/2019/08/02/the-tough-guide-to-cpp-acronyms/ - C++ 国際標準規格 | cpprefjp
https://cpprefjp.github.io/international-standard.html - Bjarne Stroustrup's C++ Glossary
http://www.stroustrup.com/glossary.html#Gvirtual-function-table - C++関連の略語 | Qiita
https://qiita.com/yohhoy/items/b3cb98d2bacd69085309