Чтение непосредственно из std :: istream в std :: string
Есть ли способ прочитать известное количество байтов непосредственно в std :: string без создания временного буфера для этого?
например, в настоящее время я могу сделать это
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;