在使用new來(lái)初始化對(duì)象的指針成員時(shí)必須特別小心,以下是幾點(diǎn)注意事項(xiàng):
- 如果在構(gòu)造函數(shù)中使用new來(lái)初始化指針成員,則應(yīng)在析構(gòu)函數(shù)中使用delete。
- new和delete必須相互兼容。new對(duì)應(yīng)于delete,new[]對(duì)應(yīng)于delete[]。
- 如果有多個(gè)構(gòu)造函數(shù),則必須以相同的方式使用new,要么都帶中括號(hào),要么都不帶。因?yàn)橹挥幸粋€(gè)析構(gòu)函數(shù),因此所有的構(gòu)造函數(shù)都必須與它兼容。不過(guò)可以在一個(gè)構(gòu)造函數(shù)中使用new來(lái)初始化指針,而在另外一個(gè)構(gòu)造函數(shù)中將指針初始化為空(Null或0),這是因?yàn)閐elete(無(wú)論是帶中括號(hào)還是不帶中括號(hào))可以用于空指針。