Effective C++ 第十六條 Use the same form in corresponding uses of ne
成對(duì)使用 new 和 delete 時(shí)要采取相同措施
當(dāng)我們通過 new 和 delete 申請(qǐng)和釋放內(nèi)存的時(shí)候,有管理單一對(duì)象,也有管理多個(gè)對(duì)象(數(shù)組)。使用方式如下:
上面代碼中是否帶 [ ] ?要成對(duì)使用,不能說前面申請(qǐng)單個(gè)元素,后面釋放數(shù)組,這樣是為定義行為,不被允許。
有些程序員喜歡使用 typedef 關(guān)鍵字,比如
這里不能使用 delete array;會(huì)出現(xiàn)未定義行為。
由于 C++ 11 以后引入了 STL ,對(duì)于數(shù)組的需求已經(jīng)很小了,當(dāng)你需要用到數(shù)組的時(shí)候,都可以使用 vector 和 string 進(jìn)行代替。
標(biāo)簽: