Direktes Lesen von einem std :: istream in einen std :: string

Gibt es überhaupt eine bekannte Anzahl von Bytes direkt in einen std :: string zu lesen, ohne dafür einen temporären Puffer zu erstellen?

zB momentan kann ich es durch machen

boost::uint16_t len;
is.read((char*)&len, 2);
char *tmpStr = new char[len];
is.read(tmpStr, len);
std::string str(tmpStr, len);
delete[] tmpStr;

Antworten auf die Frage(6)

Ihre Antwort auf die Frage