2 geozebra geoZebra 于 2014.07.21 17:31 提问

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

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

1个回答

YGguang
YGguang   2014.08.26 22:13

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

}

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!