C++ STL

C++の標準ライブラリ(STL)について解説します。

言語サポートライブラリ

ヘッダ名説明対応バージョン関連記事
limits実装プロパティ※執筆中
version実装依存のバージョン情報C++20※執筆中
stdfloat拡張浮動小数点型C++23※執筆中
new動的メモリ管理※執筆中
typeinfo型情報※執筆中
source_locationソースコード上の位置C++20※執筆中
exception例外ハンドリング※執筆中
initializer_list初期化子リストC++11※執筆中
compare比較演算C++20※執筆中
coroutineコルーチンC++20※執筆中

コンセプトライブラリ

ヘッダ名説明対応バージョン関連記事
concepts言語関係のコンセプトC++20※執筆中

診断ライブラリ

ヘッダ名説明対応バージョン関連記事
stdexcept例外クラス※執筆中
system_errorシステムエラーサポートC++11※執筆中

ユーティリティライブラリ

ヘッダ名説明対応バージョン関連記事
utilityユーティリティコンポーネント※執筆中
bitsetビットの固定サイズシーケンス※執筆中
ratioコンパイル時有理数C++11※執筆中
tupleタプルC++11※執筆中
optional任意で値を持たせられるオブジェクトC++17※執筆中
variant候補の型を切り替えながら保持できる記憶域型C++17※執筆中
anyあらゆる型の値を保持できる記憶域型C++17※執筆中
expected正常値かエラー値のどちらかを持たせられるオブジェクトC++23※執筆中
type_traits型特性C++11※執筆中
functional関数オブジェクト※執筆中
memoryメモリ※執筆中
scoped_allocatorスコープ付きアロケータC++11※執筆中
memory_resource多相アロケータC++17※執筆中
chrono時間ユーティリティC++11※執筆中
typeindex型のインデックスC++11※執筆中
execution実行ポリシー、実行制御ライブラリ(C++26)C++17※執筆中
charconv高速な文字列 ⇔ 数値変換C++17※執筆中
format文字列フォーマットC++20※執筆中
stacktraceスタックトレースC++23※執筆中

文字列ライブラリ

ヘッダ名説明対応バージョン関連記事
string文字列クラスと、文字特性stringクラスの使い方
string_view所有権を持たず文字列を参照する文字列クラスC++17※執筆中

ローカライズライブラリ

ヘッダ名説明対応バージョン関連記事
localeロケール※執筆中
text_encoding文字列エンコーディングの識別C++23※執筆中
codecvtコード変換ファセットC++11
C++17から非推奨
C++23で削除
※執筆中

コンテナライブラリ

ヘッダ名説明対応バージョン関連記事
array配列C++11※執筆中
deque両端キュー※執筆中
forward_list単方向リストC++11※執筆中
list双方向リスト※執筆中
queueFIFOキュー※執筆中
stackLIFOスタック※執筆中
vector可変長配列vectorクラスの使い方
inplace_vector容量固定の可変長配列C++26※執筆中
map順序付き連想配列※執筆中
set順序付き集合※執筆中
flat_mapソート済みキーによる順序付き連想配列C++23※執筆中
flat_setソート済みキーによる順序付き集合C++23※執筆中
unordered_map非順序連想配列C++11※執筆中
unordered_set非順序集合C++11※執筆中
span部分シーケンスの参照C++20※執筆中
mdspan多次元配列ビューC++23※執筆中

イテレータライブラリ

ヘッダ名説明対応バージョン関連記事
iteratorイテレータの定義※執筆中

レンジライブラリ

ヘッダ名説明対応バージョン関連記事
rangesレンジアルゴリズムC++20※執筆中
generatorコルーチンによるレンジ生成C++23※執筆中

アルゴリズムライブラリ

ヘッダ名説明対応バージョン関連記事
algorithmアルゴリズム※執筆中

数値ライブラリ

ヘッダ名説明対応バージョン関連記事
complex複素数※執筆中
bitビット操作C++20※執筆中
random乱数生成C++11※執筆中
valarray数値の配列※執筆中
numeric一般的な数値操作※執筆中
numbers数値C++20※執筆中
linalg線形代数C++26※執筆中

デバッグライブラリ

ヘッダ名説明対応バージョン関連記事
debuggingデバッグサポートC++26※執筆中
contracts契約プログラミングC++26※執筆中

入出力ライブラリ

ヘッダ名説明対応バージョン関連記事
iosfwd先行宣言※執筆中
iostream標準iostreamオブジェクト※執筆中
iosiostream基底クラス※執筆中
streambufストリームバッファ※執筆中
istream入力ストリーム※執筆中
ostream出力ストリーム※執筆中
iomanipフォーマットとマニピュレータ※執筆中
sstream文字列ストリーム※執筆中
strstream古い文字列ストリームC++98から非推奨
C++26で削除
※執筆中
fstreamファイルストリーム※執筆中
filesystemファイルシステムC++17※執筆中
syncstream同期化出力ストリームラッパーC++20※執筆中
spanstreamメモリバッファの所有権をもたないストリームC++23※執筆中
print書式指定による出力C++23※執筆中

正規表現ライブラリ

ヘッダ名説明対応バージョン関連記事
regex正規表現C++11※執筆中

アトミック操作ライブラリ

ヘッダ名説明対応バージョン関連記事
atomicアトミックアクセスのためのコンポーネントC++11※執筆中
stdatomic.hアトミック操作のC互換ライブラリC++23※執筆中

スレッドサポートライブラリ

ヘッダ名説明対応バージョン関連記事
stop_token停止状態C++20※執筆中
threadスレッドC++11※執筆中
mutexミューテックスC++11※執筆中
shared_mutex共有ミューテックスC++14※執筆中
condition_variable条件変数C++11※執筆中
semaphoreセマフォC++20※執筆中
latchラッチ同期C++20※執筆中
barrierバリア同期C++20※執筆中
futureFutureC++11※執筆中
rcuデータの参照・更新C++26※執筆中
hazard_pointerハザードポインタC++26※執筆中
simdデータ並列C++26※執筆中

C言語互換ライブラリ

ヘッダ名説明対応バージョン関連記事
cassertアサート※執筆中
ccomplex複素数C++11 (C99)
C++17で非推奨
C++20で削除
※執筆中
cctype文字種別の判定と変換※執筆中
cerrnoエラー番号※執筆中
cfenv浮動小数点環境へのアクセスC++11 (C99)※執筆中
cfloat浮動小数点数の定数※執筆中
cinttypes固定精度整数のための書式指定マクロC++11 (C99)※執筆中
ciso646&&に対する別名andのような、各種演算子に対するマクロを定義する。
ただしC++ではこれらの別名はキーワードとして定義されるため、このヘッダでは何も定義されない。
C++20で削除※執筆中
climits整数型の最小値、最大値を表すマクロ※執筆中
clocaleロケール※執筆中
cmath数学関数※執筆中
csetjmpジャンプ処理※執筆中
csignalシグナル※執筆中
cstdalignアライメント操作のマクロC++17で非推奨
C++20で削除
※執筆中
cstdarg可変引数操作※執筆中
stdbit.hビット操作C++26※執筆中
stdckdint.h検査付き整数演算C++26※執筆中
cstdbool真理値型の定義
C++11 (C99)
C++17で非推奨
C++20で削除
※執筆中
cstddef基本的な型、値、マクロの定義※執筆中
cstdint大きさが規定されている整数型C++11 (C99)※執筆中
cstdio入出力※執筆中
cstdlibユーティリティ関数※執筆中
cstring文字列操作※執筆中
ctgmathジェネリックな数学関数C++11 (C99)
C++17で非推奨
C++20で削除
※執筆中
ctime日付・時間※執筆中
cucharUnicode文字型C++11 (C99)※執筆中
cwcharワイド文字型※執筆中
cwctypeワイド文字の種別と判定※執筆中