C++で配列をvectorに挿入する

知らなかったのでメモ。

vector::insertを使って配列をvectorに挿入することができます。

以下のコードだとvectorの末尾に配列を挿入することになります。

    int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    int a_size = sizeof(a) / sizeof(a[0]);

    std::vector<int> v;

    v.insert(v.end(), &a[0], &a[a_size]);

vector::insertの引数はInputIteratorなわけですが、このInputIterator*itによる値の参照と++itによる次の位置への移動ができればいいので、InputIteratorとして配列を渡しても動作します。