¿Cuál es la mejor manera de concatenar dos vectores?

Estoy usando multihilo y quiero fusionar los resultados. Por ejemplo:

std::vector<int> A;
std::vector<int> B;
std::vector<int> AB;

Quiero que AB tenga los contenidos de A y los contenidos de B en ese orden. ¿Cuál es la forma más eficiente de hacer algo como esto?