Combinando un vector de cuerdas.

He estado leyendoC ++ acelerado Y tengo que decir que es un libro interesante.

En el capítulo 6, tengo que usar una función de <algorithm> para concatenar de un vector <string> en una sola cadena. Podría usar acumular, pero no ayuda porque los contenedores de cadenas solo pueden empujar hacia atrás los caracteres.

int main () {
  using namespace std;
  string str = "Hello, world!";
  vector<string>  vec (10, str);
  // Concatenate here?

  return 0;
}

¿Cómo puedo unir las cuerdas?