boost库 数组智能指针scoped_array
生活随笔
收集整理的這篇文章主要介紹了
boost库 数组智能指针scoped_array
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
學(xué)習(xí)過C++的開發(fā)人員,都知道在C++里數(shù)組指針與一般的指針是有區(qū)別的。比如使用數(shù)組形式分配的內(nèi)存,就需要使用數(shù)組的形式刪除。但初學(xué)開發(fā)的開發(fā)人員,往往會(huì)忘記這點(diǎn),在我過去10多年的軟件代碼審查過程里,經(jīng)常發(fā)現(xiàn)這點(diǎn),如下面所示:
char*? pBuf = new char[256];
......這里使用
delete pBuf;?
在最后這行代碼上,就使用出錯(cuò)了。應(yīng)該使用數(shù)組的形式刪除,否則只刪除了一個(gè)元素占用的內(nèi)存,其它所有占用的內(nèi)存就變成內(nèi)存泄漏了。為了避免這種情況,有什么好方法嗎?在STL庫里沒有提供比較好的智能指針,現(xiàn)在boost庫提供了這種智能指針了,它就是scoped_array。希望所有分配數(shù)組的內(nèi)存,都使用這種方式來分配,不但可以避免刪除時(shí)出錯(cuò),也可以防止內(nèi)存泄漏,提供更加安全的機(jī)制。具體的使用方式如下:
[cpp]?view plaincopy
總結(jié)
以上是生活随笔為你收集整理的boost库 数组智能指针scoped_array的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STL:list用法详解
- 下一篇: Tengine---nginx平台初探