Q: 我應(yīng)該怎樣處理內(nèi)存泄漏?
A: 很簡(jiǎn)單,只要寫(xiě)“不漏”的代碼就完事了啊。顯然,如果你的代碼到處是new、delete、指針運(yùn)算,那你想讓它“不漏”都難。不管你有多么小心謹(jǐn)慎,君為人,非神也,錯(cuò)誤在所難免。最終你會(huì)被自己越來(lái)越復(fù)雜的代碼逼瘋的——你將投身于與內(nèi)存泄漏的奮斗之中,對(duì)bug們不離不棄,直至山峰沒(méi)有棱角,地球不再轉(zhuǎn)動(dòng)。而能讓你避免這樣困境的技巧也不復(fù)雜:你只要倚重隱含在幕后的分配機(jī)制——構(gòu)造和析構(gòu),讓C++的強(qiáng)大的類系統(tǒng)來(lái)助你一臂之力就OK了。標(biāo)準(zhǔn)庫(kù)中的那些容器就是很好的實(shí)例。它們讓你不必化費(fèi)大量的時(shí)間精力也能輕松愜意地管理內(nèi)存。我們來(lái)看看下面的示例代碼——設(shè)想一下,如果沒(méi)有了string和vector,世界將會(huì)怎樣?如果不用它們,你能第一次就寫(xiě)出毫無(wú)內(nèi)存錯(cuò)誤的同樣功能代碼嗎?
標(biāo)簽:
內(nèi)存泄漏
上傳時(shí)間:
2017-01-25
上傳用戶:alan-ee