???出現(xiàn)了就是程序有問題,這個(gè)東西在程序里是不能做任何判定的
???所以只能避免
? 通常避免野指針的辦法是正確的使用指針???
? 1.聲明一個(gè)pointer的時(shí)候注意初始化為null ?
? int* ? pInt ? = ? NULL;???
? 2.分配完內(nèi)存以后注意ASSERT ?
? pInt ? = ? new ? int[num]; ?
? ASSERT(pInt ? != ? NULL);???
? 3.刪除時(shí)候注意用對(duì)操作符 ?
? 對(duì)于new ? int類型的,用delete ?
? 對(duì)于new ? int[]類型的,用delete ? []???
? 4.刪除完畢以后記得給他null地址 ?
? delete ? [] ? pInt; ?
? pInt ? = ? NULL;???
? 5.記住,誰分配的誰回收,不要再一個(gè)函數(shù)里面分配local ? pointer,送到另外一個(gè)函數(shù)去delete???
? 6.返回local ? address是非常危險(xiǎn)的,如必須這樣做,請(qǐng)寫注釋到程序里面,免得忘記??