局部變量與全局變量的困惑

昨天寫一段代碼,要加載一個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()清空狀態,但這樣既沒有效率也不省內存

使用局部變量會避免這些問題,我原本指望將局部變量提到全局會省內存呢。



將局部變量提到全局,不會省內存,我還是想不通,求路過的各路神仙解答

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章