#include <sstream>
using namespace std;
const char* GetHugeString();
int main()
{
const char* p = GetHugeString();
//
// Below will copy the huge string into a std::string object!
//
istringstream sstrm{p};
return {};
}
istringstream
不需要复制巨大的字符串;只需要一个以null结尾的字符串指针即可。但是istringstream
的构造函数只接受std::string
作为参数,而不是std::string_view
(仅在c++1z中可用)。
有没有一种解决方法可以使std::istringstream
在这种情况下更有效率?
stringbuf
支持,而它不接受string_view
(有充分的理由)。 - Collin Dauphinee