每次读取一个字符存入一个string中,最少读取100个字符,应该如何提高程序的性能?

《C++ Primer 第五版》习题9.42
假定你希望每次读取一个字符存入一个string中,而且知道最少需要读取100个字符,应该如何提高程序的性能?

string s(100,' ');//事先构造一个100个字符的string对象
while(……)
{
……//填充s
int size =s.size();//保存s的大小
if(s.size()>size)//每次填充检测是否到达s的边界
s.resize(size+50)//超过了则再补充

}

大致的思路就是每次写一个字符,string都会去扩充内存,还不如一次就让内存扩大一点