第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

測(cè)試有效性指針(C / C ++)

測(cè)試有效性指針(C / C ++)

C++ C
SMILET 2019-09-02 20:09:17
如果指定的指針是“有效的”,有沒(méi)有辦法確定(當(dāng)然是以編程方式)?檢查NULL很簡(jiǎn)單,但像0x00001234這樣的東西呢?當(dāng)試圖取消引用這種指針時(shí),會(huì)發(fā)生異常/崩潰。首選跨平臺(tái)方法,但平臺(tái)特定(適用于Windows和Linux)也可以。更新澄清: 問(wèn)題不在于陳舊/釋放/未初始化的指針; 相反,我正在實(shí)現(xiàn)一個(gè)從調(diào)用者獲取指針的API(如指向字符串的指針,文件句柄等)。調(diào)用者可以(有意或無(wú)意地)發(fā)送無(wú)效值作為指針。如何防止崩潰?
查看完整描述

3 回答

?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

更新澄清:問(wèn)題不在于陳舊,釋放或未初始化的指針; 相反,我正在實(shí)現(xiàn)一個(gè)從調(diào)用者獲取指針的API(如指向字符串的指針,文件句柄等)。調(diào)用者可以(有意或無(wú)意地)發(fā)送無(wú)效值作為指針。如何防止崩潰?

你無(wú)法進(jìn)行檢查。你根本無(wú)法檢查指針是否“有效”。你必須相信,當(dāng)人們使用帶指針的函數(shù)時(shí),那些人就會(huì)知道他們?cè)谧鍪裁础H绻麄儗?x4211作為指針值傳遞給你,那么你必須相信它指向地址0x4211。如果他們“意外地”擊中一個(gè)物體,那么即使你會(huì)使用一些可怕的操作系統(tǒng)功能(IsValidPtr或其他),你仍然會(huì)陷入一個(gè)錯(cuò)誤并且不會(huì)快速失敗。

開始使用空指針發(fā)信號(hào)通知這種事情并告訴你的庫(kù)的用戶,如果他們傾向于意外地傳遞無(wú)效指針,他們不應(yīng)該使用指針,嚴(yán)重:)


查看完整回答
反對(duì) 回復(fù) 2019-09-02
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

防止調(diào)用者發(fā)送無(wú)效指針導(dǎo)致的崩潰是制作難以找到的靜默錯(cuò)誤的好方法。

對(duì)于使用你的API的程序員來(lái)說(shuō),通過(guò)崩潰而不是隱藏它來(lái)獲取他的代碼是假的明確信息,這不是更好嗎?


查看完整回答
反對(duì) 回復(fù) 2019-09-02
  • 3 回答
  • 0 關(guān)注
  • 757 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)