STL |
辞書:電算用語の基礎知識 プログラミング用語編 (PTPROGY) |
読み:エスティーエル |
外語:STL: Standard Template Library |
品詞:名詞 |
標準テンプレートライブラリ。標準C++ライブラリに含まれる機能の一つである。
|
概要 |
可変長配列/リスト/マップ(連想配列)等の基本的なコレクションクラス、コレクションを操作するイテレーター、オブジェクト化されたアルゴリズムや関数、などを提供する。
テンプレートを多用しており、多くはヘッダーファイルのみで実装される。
特徴 |
STLという用語は、正式な定義はない。一般には、次のものから構成されると認識されている。
これらと、他の標準C++ライブラリを組み合わせてC++のプログラムは記述される。
機能 |
コンテナー |
コンテナーは、動的に領域を確保し、自動的に解放をしてくれる機能である。
大きく三種類に分類される、次の機能がある。
イテレーター |
イテレーター(反復子)は、コンテナーの各要素へアクセスするためのクラスである。
どのようなクラスでも共通のインターフェイスを持っており、またポインターと同様にインクリメント/デクリメントで前後に移動し、*や->で要素の参照が可能となっている。
共通アルゴリズム |
コンテナーの要素に対して使われる関数群である。
ソート、マージ、検索、反転など、様々なものが用意されている。
これらの関数は、イテレーターを介してコンテナーの要素にアクセスする。
関数オブジェクト |
演算子をオブジェクト化したもの。
Cのqsort()関数を例とすると、値を比較するための関数へのポインターを渡していた。C++のSTLでは、関数オブジェクトを用いる。必要な演算子がオーバーロードされていれば、いちいち関数を定義する必要がない。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |