是否有一个字符串缓冲区类,它提供了一个迭代器,如果需要在递增(*++itr = 'x'
)时分配一个新缓冲区,或者我是否先停用预分配缓冲区?
答案 0 :(得分:6)
有一种名为std::back_inserter()
的内容,每次分配时都会调用push_back()
。一些示例代码:
int main() {
string s = "abc";
auto it = std::back_inserter(s);
it = 'd';
cout << s << endl;
return 0;
}
将打印出来:abcd
答案 1 :(得分:1)
您可以将std::ostringstream
与std::ostream_inserter
一起使用,类似这样(未经测试):
std:::ostringstream stream;
auto itr = ostream_inserter<char>(stream);