昨天寫一段代碼,要加載一個20M的文本,結果竟然跑死了,最後報錯
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
網上搜了一大堆,大都說是new完沒有delete造成 內存泄露,可是我壓根兒沒new啊,全部使用靜態變量。
後來發現在在一個十萬次的for循環中重複使用stringstream和vector<string>沒有清空,愚蠢的錯誤
可以ss.clear(), v.clear()清空狀態,但這樣既沒有效率也不省內存
使用局部變量會避免這些問題,我原本指望將局部變量提到全局會省內存呢。
將局部變量提到全局,不會省內存,我還是想不通,求路過的各路神仙解答