コンテンツにスキップ

標準C++ライブラリ

出典: フリー百科事典『ウィキペディア(Wikipedia)』

標準C++ライブラリは、プログラミング言語C++の標準規格で定められたライブラリである。これはクラス関数などの集合であり、汎用的なコンテナとそれを操作する関数、関数オブジェクト、汎用的な文字列ストリーム(コンソールやファイルとの入出力)、言語機能サポート、数学関数ライブラリ(超越関数の近似を含む)などといった一般的かつ汎用的な関数などから構成される。また、ISO C90規格の標準Cライブラリも含んでいる(C++11C99互換のライブラリも追加された)。標準C++ライブラリはそのほとんどが名前空間std内にある。C++11規格以降では標準ライブラリに大幅な拡張や機能追加が行なわれた。

Standard Template Library (STL) は標準C++ライブラリの一部分で、コンテナアルゴリズムイテレータ関数オブジェクトなどを含むものである。

C言語と異なり、標準C++ライブラリのヘッダには末尾に拡張子 (.h) が付かない。

ヘッダ

[編集]

次に挙げるヘッダが存在する。

コンテナ

[編集]

一般

[編集]

文字列

[編集]

ストリームと入出力

[編集]

数値処理

[編集]

言語支援

[編集]

診断

[編集]

スレッド

[編集]

標準Cライブラリ

[編集]

C++において標準Cライブラリのヘッダは、Cと異なった名前になる。ヘッダ名の末尾から拡張子 .h を取り除き、先頭に c を加える。例えば time.hctime という具合である。そしてヘッダ内の宣言は名前空間stdの中に置かれるため、(名前空間の影響を受けないマクロを除いて)関数や型名にはstd::を付けて完全修飾することで区別する。なお、ISO Cでは関数をマクロとして実装することも認めていたが、ISO C++では認められていない。

C++20の新しいヘッダ

[編集]
  • <barrier> (C++20) - バリア同期プリミティブを提供
  • <bit> (C++20) - ビット操作関数群
  • <compare> (C++20) - 三方比較演算子(<=>) の関連機能
  • <concepts> (C++20) - 基本的なコンセプトライブラリ
  • <coroutine> (C++20) - コルーチンサポート用の型と関数
  • <format> (C++20) - テキストフォーマット機能
  • <latch> (C++20) - ラッチ同期プリミティブ
  • <numbers> (C++20) - 数学定数(π, e など)
  • <ranges> (C++20) - レンジライブラリ
  • <semaphore> (C++20) - セマフォ同期プリミティブ
  • <source_location> (C++20) - ソースコード位置情報
  • <span> (C++20) - メモリ範囲を参照する型
  • <stop_token> (C++20) - 非同期操作のキャンセル機能
  • <syncstream> (C++20) - 同期ストリーム機能
  • <version> (C++20) - 実装のバージョン情報

外部リンク

[編集]

参考文献

[編集]