C++標準ライブラリヘッダ
C++標準ライブラリのインタフェースは以下のヘッダ群により定義されます。
コンセプトライブラリ | |
(C++20) |
基礎的なライブラリコンセプト |
コルーチンライブラリ | |
(C++20) |
コルーチンサポートライブラリ |
ユーティリティライブラリ | |
| 汎用ユーティリティ: プログラム制御、 動的メモリ確保、乱数、 ソートおよび検索 | |
| シグナル管理のための関数とマクロ定数 | |
| 実行コンテキストを保存 (およびジャンプ) するマクロ (と関数) | |
| 可変長引数リストの処理 | |
| 実行時型情報ユーティリティ | |
(C++11) |
std::type_index |
(C++11) |
コンパイル時型情報 |
| std::bitset クラステンプレート | |
| 関数オブジェクト、関数呼び出し、バインド操作および参照ラッパー | |
| 様々なユーティリティ部品 | |
| C スタイルの時間/日付ユーティリティ | |
(C++11) |
C++ の時間ユーティリティ |
| 標準的なマクロおよび typedef | |
(C++11) |
std::initializer_list クラステンプレート |
(C++11) |
std::tuple クラステンプレート |
(C++17) |
std::any クラス |
(C++17) |
std::optional クラステンプレート |
(C++17) |
std::variant クラステンプレート |
(C++20) |
三方比較演算子サポート |
(C++20) |
処理系依存のライブラリ情報を供給します |
(C++20) |
ソースコード位置を取得する手段を供給します |
動的メモリ管理 | |
| 低水準メモリ管理ユーティリティ | |
| 高水準メモリ管理ユーティリティ | |
(C++11) |
ネストしたアロケータクラス |
(C++17) |
多相アロケータとメモリリソース |
数値の限界 | |
| 整数型の限界 | |
| 浮動小数点型の限界 | |
(C++11) |
固定幅の整数型およびその他の型の限界 |
(C++11) |
書式化マクロ、 intmax_t および uintmax_t の数学と変換
|
| 算術型の性質を問い合わせる統一的な方法 | |
エラー処理 | |
| 例外処理ユーティリティ | |
| 標準の例外オブジェクト | |
| 引数をゼロと比較する条件コンパイルマクロ | |
(C++11) |
プラットフォーム依存のエラーコード std::error_code を定義します |
| 最後のエラー番号を保持するマクロ | |
文字列ライブラリ | |
| ナロー文字のカテゴリを判定する関数 | |
| ワイド文字のカテゴリを判定するための関数 | |
| 様々なナロー文字列処理関数 | |
| 様々なワイド文字列およびマルチバイト文字列処理関数 | |
(C++11) |
C スタイルの Unicode 文字変換関数 |
| std::basic_string クラステンプレート | |
(C++17) |
std::basic_string_view クラステンプレート |
(C++17) |
std::to_chars と std::from_chars |
(C++20) |
書式化ライブラリ (std::format を含む) |
コンテナライブラリ | |
(C++11) |
std::array コンテナ |
| std::vector コンテナ | |
| std::deque コンテナ | |
| std::list コンテナ | |
(C++11) |
std::forward_list コンテナ |
| std::set および std::multiset 連想コンテナ | |
| std::map および std::multimap 連想コンテナ | |
(C++11) |
std::unordered_set および std::unordered_multiset 非順序連想コンテナ |
(C++11) |
std::unordered_map および std::unordered_multimap 非順序連想コンテナ |
| std::stack コンテナアダプタ | |
| std::queue および std::priority_queue コンテナアダプタ | |
(C++20) |
std::span ビュー |
イテレータライブラリ | |
| 範囲イテレータ | |
範囲ライブラリ | |
(C++20) |
範囲クラス、プリミティブ、要件、ユーティリティおよびアダプタ |
アルゴリズムライブラリ | |
| 範囲に対して操作するアルゴリズム | |
(C++17) |
アルゴリズムの並列バージョンのための定義済み実行ポリシー |
数値演算ライブラリ | |
| 一般的な数学関数 | |
| 複素数型 | |
| 値の配列を表現、操作するためのクラス | |
(C++11) |
乱数ジェネレータおよび分布 |
| 範囲内の値に対する数値演算 | |
(C++11) |
コンパイル時有理数算術 |
(C++11) |
浮動小数点環境にアクセスする関数 |
(C++20) |
ビット操作関数 |
(C++20) |
数学定数 |
ローカライゼーションライブラリ | |
| ローカライゼーションユーティリティ | |
| C のローカライゼーションユーティリティ | |
(C++11)(C++17で非推奨) |
Unicode 変換機能 |
入出力ライブラリ | |
| 入出力ライブラリのすべてのクラスの前方宣言 | |
| std::ios_base クラス、 std::basic_ios クラステンプレートおよびいくつかの typedef | |
| std::basic_istream クラステンプレートといくつかの typedef | |
| std::basic_ostream、 std::basic_iostream クラステンプレートといくつかの typedef | |
| いくつかの標準ストリームオブジェクト | |
| std::basic_fstream、 std::basic_ifstream、 std::basic_ofstream クラステンプレートといくつかの typedef | |
| std::basic_stringstream、 std::basic_istringstream、 std::basic_ostringstream クラステンプレートおよびいくつかの typedef | |
(C++20) |
std::basic_osyncstream、 std::basic_syncbuf および typedef |
(C++98で非推奨) |
std::strstream、 std::istrstream、 std::ostrstream |
| 入出力の書式を制御するヘルパー関数 | |
| std::basic_streambuf クラステンプレート | |
| C スタイルの入出力関数 | |
ファイルシステムライブラリ | |
(C++17) |
std::path クラスとサポート関数 |
正規表現ライブラリ | |
(C++11) |
正規表現処理をサポートするためのクラス、アルゴリズムおよびイテレータ |
アトミック操作ライブラリ | |
(C++11) |
アトミック操作ライブラリ |
スレッドサポートライブラリ | |
(C++11) |
std::thread クラスとサポート関数 |
(C++20) |
std::jthread のためのストップトークン |
(C++11) |
相互排他プリミティブ |
(C++14) |
共有可能な相互排他プリミティブ |
(C++11) |
非同期計算のためのプリミティブ |
(C++11) |
スレッド待機条件 |
(C++20) |
セマフォ |
(C++20) |
ラッチ |
(C++20) |
バリア |
C 互換ヘッダ
<〜.h> 形式の C 標準ライブラリヘッダのいくつかは、それと同じ名前のヘッダと <c〜> 形式のヘッダの両方が C++ 標準ライブラリに含まれています (意味のある <c〜> 形式のヘッダはすべて上の一覧に掲載されています)。
<complex.h> を除いて 、 C++ 標準ライブラリに含まれている各々の <〜.h> 形式のヘッダは、対応する <c〜> ヘッダで std 名前空間に配置される各々の名前をグローバル名前空間に配置します。
これらのヘッダは、同じ名前を std 名前空間でも宣言するかもしれません。 また、対応する <c〜> ヘッダは、同じ名前をグローバル名前空間でも宣言するかもしれません。 例えば、 <cstdlib> をインクルードすると、 std::malloc は確実に提供されますが、さらに ::malloc も提供されるかもしれません。 <stdlib.h> をインクルードすると、 ::malloc は確実に提供されますが、さらに std::malloc も提供されるかもしれません。 これは C 標準ライブラリの一部ではない関数や関数オーバーロードに対しても適用されます。
(非推奨) |
<cassert> と同じに振る舞います |
(非推奨) |
<cctype> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cerrno> と同じに振る舞います |
(C++11)(非推奨) |
<cfenv> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cfloat> と同じに振る舞います |
(C++11)(非推奨) |
<cinttypes> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<climits> と同じに振る舞います |
(非推奨) |
<clocale> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cmath> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います (数学の特殊関数の名前は除く) |
(非推奨) |
<csetjmp> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<csignal> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cstdarg> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cstddef> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います (std::byte およびその関連関数の名前は除く)
|
(C++11)(非推奨) |
<cstdint> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cstdio> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cstdlib> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cstring> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<ctime> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(C++11)(非推奨) |
<cuchar> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cwchar> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
(非推奨) |
<cwctype> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
空の C のヘッダ
ヘッダ <complex.h>、 <ccomplex>、 <tgmath.h>、 <ctgmath> は C 標準ライブラリ由来の内容を何も含んでおらず、代わりに C++ 標準ライブラリの他のヘッダをインクルードするだけのものになっています。 これらのヘッダの使用はすべて C++ では非推奨です。
(C++11)(C++17で非推奨)(C++20で削除) |
ヘッダ <complex> をインクルードするだけです |
(C++11)(非推奨) |
ヘッダ <complex> をインクルードするだけです |
(C++11)(C++17で非推奨)(C++20で削除) |
ヘッダ <complex> および <cmath> をインクルードするだけです。 C のヘッダ <tgmath.h> の内容と同等なオーバーロードがこれらのヘッダによってすでに提供されています
|
(C++11)(非推奨) |
ヘッダ <complex> および <cmath> をインクルードするだけです |
無意味な C のヘッダ
ヘッダ <ciso646>、 <cstdalign>、 <cstdbool> は C++ では無意味です。 C でこれらのヘッダにより提供されるマクロは、 C++ では言語のキーワードです。
(C++20で削除) |
空のヘッダ。 C の <iso646.h> のマクロは C++ ではキーワードです
|
(非推奨) |
効果を持ちません |
(C++11)(C++17で非推奨)(C++20で削除) |
互換マクロ定数をひとつ定義します |
(C++11)(非推奨) |
互換マクロ定数をひとつ定義します |
(C++11)(C++17で非推奨)(C++20で削除) |
互換マクロ定数をひとつ定義します |
(C++11)(非推奨) |
互換マクロ定数をひとつ定義します |
サポートされない C のヘッダ
C のヘッダ <stdatomic.h>、 <stdnoreturn.h>、 <threads.h> は C++ に含まれておらず、対応する <c〜> もありません。
実験的なライブラリ
C++ の技術報告書および技術仕様書もいくつかのヘッダを定義しています。
関連項目
C標準ライブラリヘッダ の C言語リファレンス
|