STL 【Standard Template Library】 標準テンプレートライブラリ

概要

STL(Standard Template Library)とは、C++言語標準ライブラリの一部で、同言語の「テンプレート」(template)機能を利用して汎用的なデータ構造などを特定のデータ型依存しない形で定義したもの。

C++言語は静的型付け言語であるため、関数などの引数返り値データ型コード上で確定させる必要がある。様々な型のを投入する可能性がある場合は、中身の処理は同じでデータ型だけが異なる関数を定義しなければならなくなってしまう。

そのような場合にテンプレートの仕組みを用いると、データ型の部分を引数にしておき、呼び出し時にどのデータ型でその関数を呼び出すかを指定することができる。これを応用して、よく用いられるデータ構造などをライブラリの形で提供するのがSTLである。

様々な場面でよく用いられる著名なデータ構造コンテナ)と、その中の要素の参照や操作をう手続き(イテレータアルゴリズム)、アルゴリズムに対してオブジェクトのように渡すことができる関数関数オブジェクト)が定義されている。これらは任意の型のデータに対して適用することができる。

標準で利用できるコンテナとしては、「vector」(動的に長さが変化する配列)、「array」(固定長配列)、「deque」(両端キュー)、「list」(双方向リスト)、「forward_list」(単方向リスト)、「map」(連想配列)、「set」(集合)などがある。これらのコンテナについて、標準で利用できる操作として、要素の挿入、複製、削除、検索並べ替え整列/ソート)、最大・最小の探索和集合積集合などが用意されている。

STLは1992年にヒューレット・パッカード(Hewlett-Packard)社のアレクサンドル・ステパノフ(Alexander Stepanov)氏らのグループが考案し、1994年にANSI/ISO標準C++ライブラリの一部として採択された。一般的なC++言語処理系で利用することができる。

(2024.8.21更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる