コンテンツにスキップ

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++ コンパイラ

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 のように、最も新しく追加された要素から、入れたのとは逆順で取り出していくデータ構造や手順

リンク時最適化

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++ のプログラミングテクニック

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

作業グループ

参考文献