標準C++ライブラリ

読み:ひょうじゅんスィープラスプラス・ライブラリ
外語:Standard C++ Library 英語
品詞:名詞

C++の標準規格で定められたライブラリ

目次

様々な汎用的な処理として作られた、クラスメンバー変数を集めたものである。

汎用的なコンテナーなどの処理を含むSTLを代表とし、他に文字列やストリーム機能、言語機能、数学処理などを持っている。

STL

STLという用語は、正式な定義はない。一般には、コンテナー、イテレーター(反復子)、アルゴリズムなどを含むと解釈されている。つまり、次のようなものがSTLである。

  • コンテナー
    • <deque> ‐ 動的配列(両端キュー)
    • <list> ‐ 双方向リンク型リスト
    • <map> ‐ キーと値の組み合わせを扱う連想配列
    • <queue> ‐ 先頭での追加と終端での削除に対応するシーケンス
    • <set> ‐ 一意なキーを扱う連想コンテナー
    • <stack> ‐ 始端での追加と削除に対応するシーケンス
    • <vector> ‐ ランダムアクセスをサポートするシーケンス
  • イテレーター(反復子)
    • <iterator> ‐ コンテナーの各要素へアクセスするためのクラス
  • 共通アルゴリズム
    • <algorithm> ‐ コンテナに適用できる標準のアルゴリズム
    • <numeric> ‐ 汎用数値演算
  • 関数オブジェクト(ファンクションオブジェクト)
    • <functional> ‐ 関数オブジェクト
  • その他
    • <memory> ‐ メモリーアロケーター
    • <utility> ‐ 比較演算子

STL以外

STLの他に、次のようなものが含まれている。

C++03

C++03(ISO/IEC 14882:2003)で対応するもの。

  • 文字列
    • <string> ‐ 文字のシーケンス
  • コンテナ
    • <bitset> ‐ 固定サイズのビットシーケンス
  • 数値
    • <complex> ‐ 複素数を表わす数値型
    • <valarray> ‐ 数値計算用に定義された配列
  • ストリーム入出力
    • <fstream> ‐ ファイルへのストリーム入出力
    • <ios> ‐ iostream基底クラス
    • <iosfwd> ‐ iostreamクラスの前方宣言
    • <iostream> ‐ 基本的なストリーム入出力機能
    • <iomanip> ‐ iostreamマニピュレーター
    • <istream> ‐ 入力ストリーム
    • <ostream> ‐ 出力ストリーム
    • <sstream> ‐ 文字列ストリーム
    • <streambuf> ‐ iostream用のバッファクラス
  • 基本的なメモリー割り当て
    • <new> ‐ 基本的なメモリー割り当てと解放
  • 例外
    • <exception> ‐ 事前定義されている例外クラス
    • <stdexcept> ‐ 追加の標準例外クラス
  • 実行時型情報
    • <typeinfo> ‐ 実行時型識別情報
  • ローカライズ
    • <locale> ‐ 国際化のサポート
  • その他
    • <limits> ‐ 数値型の属性
  • 非標準のコンテナクラス(SGI STL)
    • <hash_map> ‐ ハッシュを使ったマップ
    • <hash_set> ‐ ハッシュを使った集合
    • <slist> ‐ 単方向型リスト
    • <rope> ‐ 長い文字列

C++11

C++11(ISO/IEC 14882:2011)から新たに対応したもの。

  • コンテナ
    • <array> ‐ 配列
    • <forward_list> ‐ 単方向リスト
    • <unordered_map> ‐ 非順序連想配列
    • <unordered_set> ‐ 非順序集合
  • 数値
    • <random> ‐ 乱数生成
  • 例外
    • <system_error> ‐ システムエラーサポート
  • ローカライズ
    • <codecvt> ‐ 文字コード変換
  • 正規表現
    • <regex> ‐ 正規表現
  • アトミック操作
    • <atomic> ‐ アトミック操作
  • スレッドの管理
    • <thread> ‐ マルチスレッドの管理
    • <mutex> ‐ mutex
    • <condition_variable> ‐ 条件変数
    • <future> ‐ 先物
  • その他
    • <chrono> ‐ 時間ユーティリティ
    • <scoped_allocator> ‐ スコープ付きアロケーター
    • <typeindex> ‐ 型のインデックス
    • <ratio> ‐ 時間有理数演算
    • <tuple> ‐ タプル
    • <type_traits> ‐ 型特性

標準Cライブラリ

C++でも、標準Cライブラリは利用できる。

従来の形式でも使えるが、そのままだとグローバル名前空間となるため都合が悪い。そこでC++では、標準C++ライブラリが所属する名前空間であるstdに配置するためのヘッダーファイルが用意される。

具体的には、先頭にcを付けて後尾の.hを消す。例えば、stdio.hはcstdioになる。

なお、C++11(ISO/IEC 14882:2011)からは、C99(ISO/IEC 9899:1999)のライブラリに対応した。

  • <cassert> ‐ 診断機能
  • <ccomplex> ‐ 複素数計算 (C++11以降)
  • <cctype> ‐ 文字操作
  • <cerrno> ‐ エラー
  • <cfenv> ‐ 浮動小数点環境 (C++11以降)
  • <cfloat> ‐ 浮動小数点型の特性
  • <cinttypes> ‐ 整数型の書式変換 (C++11以降)
  • <ciso646> ‐ 代替つづり
  • <climits> ‐ 整数型の大きさ
  • <clocale> ‐ 文化圏固有操作
  • <cmath> ‐ 数学関数
  • <csetjmp> ‐ 非局所分岐
  • <csignal> ‐ シグナル操作
  • <cstdalign> ‐ アラインメント操作
  • <cstdarg> ‐ 可変個数の実引数
  • <cstdbool> ‐ 論理型及び論理値 (C++11以降)
  • <cstddef> ‐ 共通の定義
  • <cstdint> ‐ 整数型 (C++11以降)
  • <cstdio> ‐ 入出力
  • <cstdlib> ‐ 一般ユーティリティ
  • <cstring> ‐ 文字列操作
  • <ctgmath> ‐ 型総称数学関数 (C++11以降)
  • <ctime> ‐ 日付及び時間
  • <cuchar> ‐ Unicode文字型 (C++11以降)
  • <cwchar> ‐ 多バイト文字及びワイド文字拡張ユーティリティ
  • <cwctype> ‐ ワイド文字種分類及びワイド文字大文字小文字変換ユーティリティ
用語の所属
C++
ライブラリ
関連する用語
libc++
libstdc++
標準Cライブラリ

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club