ベクトルにベクトルを追加する [重複] 質問する

ベクトルにベクトルを追加する [重複] 質問する

2 つの標準ベクトルがあると仮定します。

vector<int> a;
vector<int> b;

また、両方に約 30 個の要素があるとします。

  • ベクトル b をベクトル a の末尾に追加するにはどうすればよいですか?

汚いやり方としては、 b を反復処理して各要素を で追加する方法がありますvector<int>::push_back()が、私はそれをやりたくありません。

ベストアンサー1

a.insert(a.end(), b.begin(), b.end());

または

a.insert(std::end(a), std::begin(b), std::end(b));

b2 番目の方法は、配列にも使用できるため、より汎用的に適用可能なソリューションです。ただし、C++11 が必要です。ユーザー定義型を使用する場合は、ADL を使用します。

using std::begin, std::end;
a.insert(end(a), begin(b), end(b));

おすすめ記事