C++ 標準ライブラリ
C++ 標準ライブラリには一連のヘッダーファイルが含まれており、これらのヘッダーファイルは入出力、コンテナ、アルゴリズム、マルチスレッド、正規表現などをカバーするさまざまな機能とツールを提供します。
C++ 標準ライブラリは2つの部分に分けられます:
- 標準関数ライブラリ:このライブラリは、汎用的で独立した、どのクラスにも属さない関数で構成されています。関数ライブラリは C 言語から継承されたものです。
- オブジェクト指向クラスライブラリ:このライブラリはクラスとその関連関数の集合です。
C++ 標準ライブラリにはすべての C 標準ライブラリが含まれており、型安全性をサポートするために、いくつかの追加と変更が加えられています。
以下は C++ 標準ライブラリの主要コンポーネントの分類と対応するヘッダーファイルのリストです:
入出力
コンテナ
<array>: 固定長配列コンテナ<vector>: 動的配列コンテナ<deque>: 両端キューコンテナ<list>: 双方向リンクリストコンテナ<forward_list>: 単方向リンクリストコンテナ<stack>: スタックコンテナアダプタ<queue>: キューコンテナアダプタ<priority_queue>: 優先度付きキューコンテナアダプタ<set>: 集合コンテナ(平衡二分探索木に基づく)<unordered_set>: 順序なし集合コンテナ(ハッシュテーブルに基づく)<map>: マップコンテナ(キーと値のペア、平衡二分探索木に基づく)<unordered_map>: 順序なしマップコンテナ(ハッシュテーブルに基づく)<bitset>: ビットコンテナ
アルゴリズムとイテレータ
<algorithm>: 一般的なアルゴリズム(ソート、検索など)<iterator>: イテレータ
関数オブジェクトとバインディング
<functional>: 関数オブジェクトと関連ツールの定義
数学と数値演算
<numeric>: 数値操作(累積、積など)<complex>複素数演算<valarray>: 配列クラスと関連操作<cmath>数学関数
文字列と正規表現
時間と日付
マルチスレッドと並行処理
<thread>: マルチスレッドサポート<mutex>: ミューテックス<condition_variable>条件変数<future>: 非同期プログラミングサポート<atomic>: アトミック操作
メモリ管理
型特性と実行時型識別
<type_traits>: 型特性<typeinfo>実行時型識別
例外処理
<exception>: 例外処理の基本クラスと関連ツール<stdexcept>: 標準的な例外クラス(例:std::runtime_errorなど)
入出力操作
その他のツール
<utility>: 汎用ツール(例:std::pairとstd::moveなど)<random>乱数生成<locale>: ローカライゼーションサポート<codecvt>: 文字コード変換<cassert>: アサーション<cctype>文字処理<cstring>文字列処理<cwchar>: ワイド文字処理<climits>: 数値の限界<cfloat>: 浮動小数点の限界<cstdlib>: 汎用ツール(例:std::randとstd::absなど)
これらのヘッダーファイルは C++ 標準ライブラリの基礎を構成し、豊富な機能を提供して、開発者がさまざまな種類のプログラミングタスクを実行できるようサポートします。
その他の拡張