>> C++入門トップに戻る
今回はSTLとはどういうものかについて説明します。
STLとはC++の規格で定義された 標準ライブラリの一つです。
ライブラリとは関数が集まって作られたものだと思ってもらったらいいです。
ではこのSTLでどんなことが出来るのかと言うと、
リスト構造を簡単に作ることができます。
リスト構造とは、メモリを動的確保して、それぞれに関連性を持たせて、
一つの数珠繋ぎのように一本のリストを作るような構造です。
例えば、
A~Cというメモリを確保したとしたら、
A→B→C
のように、Aの次はB、Bの次はC、という風に関連を持たせて、
一つにつなげるイメージです。
C言語だけでもやろうと思えばできるのですが、動的確保やメモリの解放などの手間がかかってしまいます。
この辺の処理を簡略化して手軽にリスト構造を作れるようにしたライブラリがSTLというわけです。
そのライブラリを使うには、いくつかのテンプレートと呼ばれるものを
使います。
テンプレートとはクラスとほぼ同じ意味なんですが、
通常のクラスをただ単純に作成すると、
最初からクラスの中の変数や関数の型などをあらかじめ指定して作りますよね?
ですがこのテンプレートを使うと、任意の型を指定して、インスタンスを生成することが出来ます。
まさに、形だけあって中身を色々と任意に変更できる、テンプレートという言葉通りのものですよね。
そのSTLのテンプレートについては、主要なものとして次のものがあります。
・vector
・list
・deque
・stack
・queue
・map
・set
などがあります。
これらはデータを管理するテンプレートなので、コンテナとも呼ばれます。
次回からは、上記のテンプレートを順に解説していきます。
>> 【コンテナ【vector】】に進む
>> C++入門トップに戻る
STLについて
STLとはC++の規格で定義された 標準ライブラリの一つです。
ライブラリとは関数が集まって作られたものだと思ってもらったらいいです。
ではこのSTLでどんなことが出来るのかと言うと、
リスト構造を簡単に作ることができます。
リスト構造とは、メモリを動的確保して、それぞれに関連性を持たせて、
一つの数珠繋ぎのように一本のリストを作るような構造です。
例えば、
A~Cというメモリを確保したとしたら、
A→B→C
のように、Aの次はB、Bの次はC、という風に関連を持たせて、
一つにつなげるイメージです。
C言語だけでもやろうと思えばできるのですが、動的確保やメモリの解放などの手間がかかってしまいます。
この辺の処理を簡略化して手軽にリスト構造を作れるようにしたライブラリがSTLというわけです。
そのライブラリを使うには、いくつかのテンプレートと呼ばれるものを
使います。
テンプレートとはクラスとほぼ同じ意味なんですが、
通常のクラスをただ単純に作成すると、
最初からクラスの中の変数や関数の型などをあらかじめ指定して作りますよね?
ですがこのテンプレートを使うと、任意の型を指定して、インスタンスを生成することが出来ます。
まさに、形だけあって中身を色々と任意に変更できる、テンプレートという言葉通りのものですよね。
そのSTLのテンプレートについては、主要なものとして次のものがあります。
・vector
・list
・deque
・stack
・queue
・map
・set
などがあります。
これらはデータを管理するテンプレートなので、コンテナとも呼ばれます。
次回からは、上記のテンプレートを順に解説していきます。
>> 【コンテナ【vector】】に進む
>> C++入門トップに戻る