The Wayback Machine - https://web.archive.org/web/20180509043802/http://ja.cppreference.com:80/w/cpp/header
名前空間
変種
操作

C++標準ライブラリヘッダファイル

提供: cppreference.com
< cpp
 
 
 

C++標準ライブラリのインタフェースは以下のヘッダファイル群により定義されます。

目次

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

<cstdlib> 汎用ユーティリティ: プログラム制御動的メモリ確保乱数ソートと検索
<csignal> シグナル管理のための関数とマクロ定数
<csetjmp> 実行コンテキストを保存 (およびジャンプ) するマクロ (および関数)
<cstdarg> 可変長引数リストの処理
<typeinfo> 実行時型情報ユーティリティ
<typeindex>(C++11およびそれ以降)std::type_index
<type_traits>(C++11およびそれ以降)コンパイル時型情報
<bitset>std::bitset クラステンプレート
<functional> 関数オブジェクト、関数呼び出し、バインド操作、参照ラッパー
<utility> 様々なユーティリティ部品
<ctime> C スタイルの日付と時間のユーティリティ
<chrono>(C++11およびそれ以降) C++ の時間ユーティリティ
<cstddef> 標準的なマクロと typedef
<initializer_list>(C++11およびそれ以降)std::initializer_list クラステンプレート
<tuple>(C++11およびそれ以降)std::tuple クラステンプレート
<any>(C++17およびそれ以降)std::any クラス
<optional>(C++17およびそれ以降)std::optional クラステンプレート
<variant>(C++17およびそれ以降)std::variant クラステンプレート
<compare>(C++20およびそれ以降)三方比較演算子サポート
<version>(C++20およびそれ以降) 実装依存のライブラリ情報を供給します
動的メモリ管理
<new> 低水準メモリ管理ユーティリティ
<memory> 高水準メモリ管理ユーティリティ
<scoped_allocator>(C++11およびそれ以降) ネストされたアロケータクラス
<memory_resource>(C++17およびそれ以降) 多相アロケータとメモリリソース
数値の限界
<climits> 整数型の限界
<cfloat> 浮動小数点型の限界
<cstdint>(C++11およびそれ以降) 固定サイズの型他の型の限界
<cinttypes>(C++11およびそれ以降) 書式マクロintmax_t および uintmax_t の数学と変換
<limits> 算術型の特性を問い合わせる標準化された方法
エラー処理
<exception> 例外処理ユーティリティ
<stdexcept> 標準の例外オブジェクト
<cassert> 引数をゼロと比較する条件コンパイルされるマクロ
<system_error>(C++11およびそれ以降) プラットフォーム依存のエラーコード std::error_code の定義
<cerrno> 最後のエラー番号を保持するマクロ

文字列ライブラリ

<cctype> 文字の種類を判定する関数
<cwctype> ワイド文字の種類を判定する関数
<cstring> 様々なナロー文字列処理関数
<cwchar> 様々なワイドおよびマルチバイト文字列処理関数
<cuchar>(C++11およびそれ以降) C スタイルの Unicode 文字変換関数
<string>std::basic_string クラステンプレート
<string_view>(C++17およびそれ以降)std::basic_string_view クラステンプレート
<charconv>(C++17およびそれ以降)std::to_chars および std::from_chars

コンテナライブラリ

<array>(C++11およびそれ以降)std::array コンテナ
<vector>std::vector コンテナ
<deque>std::deque コンテナ
<list>std::list コンテナ
<forward_list>(C++11およびそれ以降)std::forward_list コンテナ
<set>std::set および std::multiset 連想コンテナ
<map>std::map および std::multimap 連想コンテナ
<unordered_set>(C++11およびそれ以降)std::unordered_set および std::unordered_multiset 非順序連想コンテナ
<unordered_map>(C++11およびそれ以降)std::unordered_map および std::unordered_multimap 非順序連想コンテナ
<stack>std::stack コンテナアダプタ
<queue>std::queue および std::priority_queue コンテナアダプタ
<span>(C++20およびそれ以降)std::span ビュー

アルゴリズムライブラリ

<algorithm> コンテナ操作アルゴリズム
<execution>(C++17) アルゴリズムの並列実行バージョンのための定義済みの実行ポリシー

イテレータライブラリ

<iterator> コンテナのイテレータ

数値演算ライブラリ

<cmath> 一般的な数学関数
<complex> 複素数型
<valarray> 値の配列を表現、操作するためのクラス
<random>(C++11およびそれ以降) 乱数生成および分布
<numeric> コンテナ内の値に対する数値演算
<ratio>(C++11およびそれ以降) コンパイル時有理数算術
<cfenv>(C++11およびそれ以降) 浮動小数点環境にアクセスする関数

入出力ライブラリ

<iosfwd> 入出力ライブラリのすべてのクラスの前方宣言
<ios>std::ios_base クラス、std::basic_ios クラステンプレートといくつかの typedef
<istream>std::basic_istream クラステンプレートといくつかの typedef
<ostream>std::basic_ostream, std::basic_iostream クラステンプレートといくつかの typedef
<iostream> いくつかの標準ストリームオブジェクト
<fstream>std::basic_fstream, std::basic_ifstream, std::basic_ofstream クラステンプレートといくつかの typedef
<sstream>std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream クラステンプレートといくつかの typedef
<syncstream>(C++20およびそれ以降)std::basic_osyncstream, std::basic_syncbuf と typedef
<strstream>(廃止予定)std::strstream, std::istrstream, std::ostrstream
<iomanip> 入出力の書式を制御するヘルパー関数
<streambuf>std::basic_streambuf クラステンプレート
<cstdio> C スタイルの入出力関数

ローカライゼーションライブラリ

<locale> ローカライゼーションユーティリティ
<clocale> C のローカライゼーションユーティリティ
<codecvt>(C++11およびそれ以降)(deprecated in C++17) Unicode 変換機能

正規表現ライブラリ

<regex>(C++11およびそれ以降) 正規表現処理をサポートするクラス、アルゴリズムおよびイテレータ

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

<atomic>(C++11およびそれ以降) アトミック操作ライブラリ

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

<thread>(C++11およびそれ以降)std::thread クラスとサポート関数
<mutex>(C++11およびそれ以降) 相互排他プリミティブ
<shared_mutex>(C++14およびそれ以降) 共有可能な相互排他プリミティブ
<future>(C++11およびそれ以降) 非同期計算のためのプリミティブ
<condition_variable>(C++11およびそれ以降)スレッドの待機状態

ファイルシステムライブラリ

<filesystem>(C++17およびそれ以降)std::path クラスとサポート関数

実験的なライブラリ

<experimental/algorithm>(library fundamentals TS)標準ライブラリ拡張および並列処理のための拡張
<experimental/any>(library fundamentals TS)標準ライブラリ拡張
<experimental/chrono>(library fundamentals TS)標準ライブラリ拡張
<experimental/deque>(library fundamentals TS)標準ライブラリ拡張
<experimental/execution_policy>(parallelism TS)並列処理のための拡張
<experimental/exception_list>(parallelism TS)並列処理のための拡張
<experimental/filesystem>(filesystem TS)ファイルシステムライブラリ
<experimental/forward_list>(library fundamentals TS)標準ライブラリ拡張
<experimental/future>(library fundamentals TS)標準ライブラリ拡張
<experimental/list>(library fundamentals TS)標準ライブラリ拡張
<experimental/functional>(library fundamentals TS)標準ライブラリ拡張
<experimental/map>(library fundamentals TS)標準ライブラリ拡張
<experimental/memory>(library fundamentals TS)標準ライブラリ拡張
<experimental/memory_resource>(library fundamentals TS)標準ライブラリ拡張
<experimental/numeric>(parallelism TS)並列処理のための拡張
<experimental/optional>(library fundamentals TS)標準ライブラリ拡張
<experimental/ratio>(library fundamentals TS)標準ライブラリ拡張
<experimental/regex>(library fundamentals TS)標準ライブラリ拡張
<experimental/set>(library fundamentals TS)標準ライブラリ拡張
<experimental/string>(library fundamentals TS)標準ライブラリ拡張
<experimental/string_view>(library fundamentals TS)標準ライブラリ拡張
<experimental/system_error>(library fundamentals TS)標準ライブラリ拡張
<experimental/tuple>(library fundamentals TS)標準ライブラリ拡張
<experimental/type_traits>(library fundamentals TS)標準ライブラリ拡張
<experimental/unordered_map>(library fundamentals TS)標準ライブラリ拡張
<experimental/unordered_set>(library fundamentals TS)標準ライブラリ拡張
<experimental/utility>(library fundamentals TS)標準ライブラリ拡張
<experimental/vector>(library fundamentals TS)標準ライブラリ拡張

[編集]C 互換ヘッダ

<〜.h> 形式の C 標準ライブラリヘッダのいくつかは、それと同じ名前のヘッダと <c〜> 形式のヘッダの両方が C++ 標準ライブラリに含まれています (意味のある <c〜> 形式のヘッダはすべて上の一覧に挙げられています)。

<complex.h> を除いて 、 C++ 標準ライブラリに含まれている各々の <〜.h> 形式のヘッダは、対応する <c〜> ヘッダで std 名前空間に配置される各々の名前をグローバル名前空間に配置します。

これらのヘッダは、同じ名前を std 名前空間でも宣言するかもしれません。 また、対応する <c〜> ヘッダは、同じ名前をグローバル名前空間でも宣言するかもしれません。 例えば、 <cstdlib> をインクルードすると、 std::malloc は確実に提供されますが、さらに ::malloc も提供されるかもしれません。 <stdlib.h> をインクルードすると、 ::malloc は確実に提供されますが、さらに std::malloc も提供されるかもしれません。 これは C 標準ライブラリの一部ではない関数や関数オーバーロードに対しても適用されます。

<assert.h>(廃止予定)<cassert> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<ctype.h>(廃止予定)<cctype> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<errno.h>(廃止予定)<cerrno> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<fenv.h>(廃止予定)<cfenv> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<float.h>(廃止予定)<cfloat> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<inttypes.h>(廃止予定)<cinttypes> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<limits.h>(廃止予定)<climits> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<locale.h>(廃止予定)<clocale> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<math.h>(廃止予定)特殊な数学関数の名前を除いて、 <cmath> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<setjmp.h>(廃止予定)<csetjmp> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<signal.h>(廃止予定)<csignal> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<stdarg.h>(廃止予定)<cstdarg> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<stddef.h>(廃止予定)std::byte およびそれに関連する関数を除いて、 <cstddef> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<stdint.h>(廃止予定)<cstdint> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<stdio.h>(廃止予定)<cstdio> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<stdlib.h>(廃止予定)<cstdlib> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<string.h>(廃止予定)<cstring> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<time.h>(廃止予定)<ctime> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<uchar.h>(廃止予定)<cuchar> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<wchar.h>(廃止予定)<cwchar> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<wctype.h>(廃止予定)<cwctype> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います

[編集]サポートされない C のヘッダ

C のヘッダ <stdatomic.h>, <stdnoreturn.h>, <threads.h> は C++ に含まれておらず、対応する <c〜> もありません。

[編集]空の C のヘッダ

ヘッダ <complex.h>, <ccomplex>, <tgmath.h>, <ctgmath> は C 標準ライブラリ由来の内容を何も含んでおらず、代わりに C++ 標準ライブラリの他のヘッダをインクルードするだけのものになっています。 これらのヘッダの使用はすべて C++ では非推奨です。

<ccomplex>(C++11およびそれ以降)(deprecated in C++17) ヘッダ <complex> をインクルードするだけです
<complex.h>(廃止予定) ヘッダ <complex> をインクルードするだけです
<ctgmath>(C++11およびそれ以降)(deprecated in C++17) ヘッダ <complex> および <cmath> をインクルードするだけです。 C のヘッダ <tgmath.h> の内容と同等なオーバーロードがこれらのヘッダによってすでに提供されています
<tgmath.h>(廃止予定) ヘッダ <ctgmath> をインクルードするだけです

[編集]無意味な C のヘッダ

ヘッダ <ciso646>, <cstdalign>, <cstdbool> は C++ では無意味です。 C でこれらのヘッダにより提供されるマクロは、 C++ では言語のキーワードです。

<ciso646> 空のヘッダ。 C で <iso646.h> にあるマクロは C++ ではキーワードです
<iso646.h>(廃止予定)<ciso646> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<cstdalign>(C++11およびそれ以降)(deprecated in C++17)互換マクロ定数を定義します
<stdalign.h>(廃止予定)<cstdalign> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
<cstdbool>(C++11およびそれ以降)(deprecated in C++17)互換マクロ定数を定義します
<stdbool.h>(廃止予定)<cstdbool> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います

[編集]関連項目

C標準ライブラリヘッダファイルC言語リファレンス
close