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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
一个值得研究的小程序,当你输入字符,每次都能将不同的字符取出
使用字符指针实现的一个简单string类
使用缓冲流读取试题文件,每次显示试题文件中的一道题目。读取到字符“*”时候暂停读取,等待用户从键盘输入答案。用户做完全部题目后,程序给出用户的得分。Test.txt如下:
汇编语言:请写一个程序把当前目录下的TEXT.TXT文件中的字符读出来显示在屏幕上,当遇到结束符时就停止读取。
华为机试题:输入两个超长整型构成的字符串,其间使用一个空格分隔,每个字符串最大长度为100个字符。求第一个整数除以第二个整数以后的余数。。
Python3.4字符串基础及每次处理一个字符
练习1-19 编写函数 reverse(s),将字符串s 中的字符顺序颠倒过来。使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序。
1.19 编写函数reverse(s)将字符串s中的字符顺序颠倒过来。使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序。
编写程序,生成一种贯穿10*10字符数组(初始时全为字符'.')的“随机步法”。程序必须随机地从一个元素“走到”另一个元素,每次都向上、向下、向左或向右移动一个元素位置
bp网的程序,设计一个神经网络字符分类器对英文字母进行分类。输入向量含有16个分量,输出向量分别用设置的T向量