我发现标准字符串添加非常慢,所以我正在寻找一些可以加快我拥有的一些代码的技巧/技巧。
我的代码基本上结构如下:
inline void add_to_string(string data, string &added_data) {
if(added_data.length()<1) added_data = added_data + "{";
added_data = added_data+data;
}
int main()
{
int some_int = 100;
float some_float = 100.0;
string some_string = "test";
string added_data;
added_data.reserve(1000*64);
for(int ii=0;ii<1000;ii++)
{
//variables manipulated here
some_int = ii;
some_float += ii;
some_string.assign(ii%20,'A');
//then we concatenate the strings!
stringstream fragment;
fragment<<some_int <<","<<some_float<<","<<some_string;
add_to_string(fragment.str(),added_data);
}
return;
}
做一些基本的分析,我发现在 for 循环中使用了大量的时间。我能做些什么来显着加快速度吗?使用 c 字符串而不是 c++ 字符串会有所帮助吗?