C/C++ 中野指標產生的問題

來源:互聯網
上載者:User

標籤:指標   初始化   原因   建立   markdown   沒有   習慣   受限   超越   

野指標產生的問題:野指標的定義:
> 野指標是指:指向一個已刪除的對象或未申請訪問受限記憶體地區的指標。與null 指標不同,野指標無法通過簡單地判斷是否為NULL避免,而只能通過養成良好的編程習慣來儘力減少。對野指標進行操作很容易造成程式錯誤。  
野指標的產生原因:
  1. 指標變數未初始化:
    任何指標變數剛被建立時不會自動成為NULL指標,它的預設值是隨機的,它會亂指一氣。所以,指標變數在建立的同時應當被初始化,要麼將指標設定為NULL,要麼讓它指向合法的記憶體。
  2. 指標釋放後之後未置空:
    有時指標在free或delete後未賦值 NULL,便會使人以為是合法的。別看free和delete的名字(尤其是delete),它們只是把指標所指的記憶體給釋放掉,但並沒有把指標本身幹掉。此時指標指向的就是“垃圾”記憶體。釋放後的指標應立即將指標置為NULL,防止產生“野指標”。
  3. 指標操作超越變數範圍:
    不要返回指向棧記憶體的指標或引用,因為棧記憶體在函數結束時會被釋放。

C/C++ 中野指標產生的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.