所以,当初始化istringstream
时,会复制字符串的内容,例如:
string moo("one two three four");
istringstream iss(moo.c_str());
我想知道是否有一种方法可以让std :: istringstream
使用给定的c_str
作为其缓冲区,而不需要复制内容。这样,在将std :: istringstream&
传递给以istream&
为参数的函数之前,它就不必复制大块内存了。我一直在尝试将一些仅采用
std :: ifstream&
参数(它们大多是解析器)的函数转换为也采用istream&
。我需要为此制作自己的istream
子类吗?
istream
中)。 - Johannes Schaub - litb