c6011取消对null指针的引用_C++中的野指针及其规避方法
生活随笔
收集整理的這篇文章主要介紹了
c6011取消对null指针的引用_C++中的野指针及其规避方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天在調試程序過程中,用到了一些指針的方法,這里記錄一下野指針的概念。
1.概念
野指針,也就是指向不可用內存區域的指針。通常對這種指針進行操作的話,將會使程序發生不可預知的錯誤。
野指針與空指針(NULL)不同,空指針在C語言中定義為
define NULL ((void *)0)
可見空指針指向0地址,而野指針指向不確定的地方。
2.產生原因
野指針產生主要有兩個原因:
1)指針變量未初始化:任何指針變量剛被創建時不會自動成為NULL指針,它的缺省值是隨機的,它會亂指一氣。
2)指針釋放之后未置空:有時指針在free或delete后未賦值 NULL,便會使人以為是合法的。別看free和delete的名字(尤其是delete),它們只是把指針所指的內存給釋放掉,但并沒有把指針刪除。
3.規避方法
產生野指針以上面第一個原因居多,可以按照以下使用習慣避免:
- 定義指針后初始化為NULL;
- 使用前制定一個可用地址;
- 引用之前判斷是否為NULL;
- 使用完后賦值為NULL
總結
以上是生活随笔為你收集整理的c6011取消对null指针的引用_C++中的野指针及其规避方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: everythingtoolbar.dl
- 下一篇: mysql字符串区分大小写么_mysql