如何解決大量字串的拼接操作的耗時問題

2021-05-25 20:28:04 字數 358 閱讀 3700

std::vector< std::string > results;

results.resize( m_cluster_num, "" );

char temp[255];

for( int i=0; i< m_data_num; i++ )  } 

對於上面的這段**,如果m_data_num為百萬級別,那麼其執行的時間將耗費數小時,其主要的原因就在於string的+操作符實質上是過載了+=操作符,所以,每次都會生成乙個臨時物件,還要賦回給原值,在參與拼接的串達到百萬級別時,速度可想而知,用

results.at( label_index )  += temp;

代替後,時間立刻降到百秒以內,效果十分明顯

字串的拼接分割

string s1 s1 string s2 s2 string s3 s1 s2 string s4 wahaha cout 分割字串 c 中string類並沒有提供split函式分割.參考他人c split 函式的實現 如果是切分檔名 c windows aaa.txt 獲得aaa.txt 通過...

Python的字串拼接

1 temp there are fruit1,fruit2,fruit3,on the table 2 join temp 在python的實際開發中,很多都需要用到字串拼接,python中字串拼接有很多 1.用 符號拼接 str there are fruit1 fruit2 fruit3 on...

c 字串的拼接

完整 1 include 2 include 3 include 4 5 define true 1 6 define false 078 char 9 strca char char 1011 char 12 join1 char char 1314 int15 main void 20 21ch...