vectorコンテナ

vectorは動的な配列です。

#include <vector>
using namespace std;

int main()
{
    vector<char> a;         // 空のvectorを生成
    vector<char> b(5, 'x'); // サイズを指定して'x'で初期化
    vector<char> c(b);      // ほかのvectorで初期化

    for (int i = 0; i < 10; i++)
    {
        a.push_back('a' + i);
    }
}

関数

const_iterator begin() const;
iterator begin();
vector::begin | MSDN
reverse_iterator rbegin( );
const_reverse_iterator rbegin( ) const;
vector::rbegin | MSDN

反復処理

反復子を用いることで、vectorのすべての要素に対し反復処理できます。方法はいくつかあり、以下のwhile、for、for_eachによる処理は、同じ結果をもたらします。

while

std::vector<int>::iterator p = v.begin();
while (p != v.end())
{
    std::cout << *p;
    p++;
}

for

for (std::vector<int>::iterator p = v.begin(); p != v.end(); p++)
{
    std::cout << *p;
}

for_each

for_eachアルゴリズムではまず処理部を関数として実装し、

void Func(int i)
{
    std::cout << i;
}

それをfor_each()の引数に渡します。

for_each(v.begin(), v.end(), Func);

参考

参考書

Microsoft Learnから検索