Existen varias formas de lograr su objetivo.
std :: vector :: insertar
El vector se puede extender mediante la inserción de nuevos elementos antes de que el elemento en la posición especificada, aumentando efectivamente el tamaño del contenedor por el número de elementos insertados. Puede seguir uno de los siguientes enfoques. La segunda versión usa C++ 11 y se puede considerar como una respuesta más genérica, ya que b también podría ser una matriz.
a.insert(a.end(), b.begin(), b.end());
a.insert(std::end(a), std::begin(b), std::end(b));
Algunas veces en uso es una buena práctica usar la función de reserva antes de usar std :: vector :: insert. std :: vector :: reserve función aumenta la capacidad del contenedor a un valor que es mayor o igual a new_cap. Si new_cap es mayor que la capacidad actual(), se asigna nuevo almacenamiento, de lo contrario, el método no hace nada.
a.reserve(a.size() + distance(b.begin(), b.end()));
No se requiere el uso de la función de reserva, pero puede ser aconsejable. Y es mejor utilizar la reserva si está insertando repetidamente en un vector para el que conoce el tamaño final, y ese tamaño es grande. De lo contrario, es mejor dejar que el STL haga crecer su vector según sea necesario.
std :: copia
std :: copia es la segunda opción que se puede considerar para lograr su objetivo. Esta función copia los elementos en el rango (primero, último) en el rango que comienza en el resultado.
std::copy (b.begin(), b.end(), std::back_inserter(a));
Sin embargo el uso de std :: copia es más lento que el uso de std :: vector :: insert(), porque std :: copy() no puede reservar espacio suficiente antes de mano (no lo hace tener acceso al propio vector, solo a un iterador que tiene), mientras que std :: vector :: insert(), siendo una función miembro, puede. Debido a que std :: copy es más lento que usar std :: vector :: insert. La mayoría de las personas sobre el uso estándar copia sin conocer este escenario.
impulso :: push_back
La tercera opción que se puede considerar es el uso de push_back función de impulso.
boost::push_back(a, b);
duplicado Posible de [Concatenación de dos std :: vectores] (http://stackoverflow.com/questions/201718/concatenating-two-stdvectors) –