Я предпочитаю тот, который уже упоминался:
a.insert(a.end(), b.begin(), b.end());
Но если вы используете C ++ 11, существует еще один общий способ:
a.insert(std::end(a), std::begin(b), std::end(b));
Кроме того, это не вопрос, но рекомендуется использовать reserve
перед добавлением для повышения производительности. И если вы конкатенируете вектор с собой, не оставляя его, он всегда должен reserve
.
Итак, в основном, что вам нужно:
template
void Append(std::vector& a, const std::vector& b)
{
a.reserve(a.size() + b.size());
a.insert(a.end(), b.begin(), b.end());
}