vectorクラスとは
標準テンプレートライブラリの提供するライブラリの一つにvectorクラスがあります。
vectorクラスはコンテナと呼ばれる役割を持ちます。これはオブジェクトを格納するオブジェクトのことを指します。
より簡単に言うのであれば、オブジェクト型の配列のもっとすごいやつと思っておけば良いでしょう。
何がすごいかというと動的に要素数を決められる点、要素への操作が簡単な点です。
配列は最初に指定した要素数しか扱うことが出来ません。
vectorクラスの使い方
vectorクラスを使うには以下のようにインクルードする必要があります。
#include <vector>
標準テンプレートライブラリは名前空間std内にあるので、using namespaceで指定するか、各命令の前にstd::をつけましょう。
vectorクラスのオブジェクトを生成します。
vector<【オブジェクトの型】> 【オブジェクト名】
オブジェクトの型には格納するオブジェクトの型を指定します。
オブジェクト名で指定したこのオブジェクトは勿論vector型です。
例えば整数型を格納するコンテナVを生成する場合は以下のように記述します。
vector<int> v
このときvはint型の値を格納するvector型のオブジェクトになります。
以下のメンバ関数を使うと、コンテナの最後尾にデータを追加することができます。
v.push_back(【値】)
引数に取る値は、オブジェクト生成時に指定した格納するオブジェクトの型に準じます。
要素の参照は、通常の配列と同様に行えます。
v[0]
上記はvの最初の要素を参照します。
サンプルコード
以下はvectorクラスの使い方のサンプルです。
vector_sample.cpp
#include <iostream> #include <vector> using namespace std; void show_vector(vector<int> v) { for (int i = 0; i < v.size(); i++) cout << v[i] << " "; cout << endl; } int main(void) { vectorv; for (int i = 0; i < 10; i++) v.push_back(i * i); show_vector(v); return 0; }
show_vector()はvectorオブジェクトの要素をすべて表示する関数です。
main()関数でvectorオブジェクトを生成し、0~9の2乗の値を代入しています。