¿Hay una manera más eficiente de establecer un std :: vector desde un flujo?

Actualmente, establezco el valor de unstd::vector<char> desde unstd::ostringstream como sigue:

void
foo(std::vector<char> &data, std::stringstream &stream) {
  data = std::vector<char>(stream.str().begin(), stream.str().end());
}

Me pregunto si hay una forma más eficiente de hacer esto con STL en C ++ o si el método que presento aquí se considera apropiado. ¿Estaría mejor usandostd::stringstream ¿en lugar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta