C 空指標呼叫函式

2021-10-04 04:01:40 字數 491 閱讀 3651

在c++中是允許空指標呼叫函式的,但是在我們使用空指標呼叫成員函式的時候,一定要注意有沒有用到this指標如果用到了this指標要加以判斷以保證程式的健壯性。

例如以下程式

class

person

void

getfd()

int fd =0;

};void

test01()

intmain()

我們執行的時候,很顯然報錯了,錯誤原因是說this指標是空的,那麼什麼意思呢?首先我們要知道this指標是指向呼叫者本身的(前面的的部落格有提及),那麼我們現在是乙個空指標在呼叫成員函式,this指標指向呼叫者的時候發現呼叫者是空的所以丟擲異常;那麼我們這怎麼修改呢?我們需要在函式中加上如下模組對this指標進行判斷

if

(this

==null

)

這樣就保證了程式的健壯性

C 空指標呼叫成員函式

如果在c 裡用空指標呼叫成員函式會發生什麼情況呢?以下面類為例 class a void geta void seta int x virtual void test 首先我們用空指標p去呼叫成員方法show 發現是可以成功呼叫的 呼叫geta 發現程式可以編譯成功,但執行失敗,並返回了乙個錯誤碼 ...

C 空指標呼叫成員函式

空指標訪問成員函式 1.如果 成員函式中沒有用到this 則可以直接使用 2.如果成員函式中使用了this,則會出錯,所以我們要在成員函式中新增空指標判斷 define crt secure no warnings includeusing namespace std 如果用空指標訪問成員函式 1....

空指標的成員函式呼叫

自 http hi.baidu.com sangwf blog item 0be10af482d0c46edcc47464.html 我一直認為技術是沒有止境的,不管你怎麼去學,總有你沒有掌握的地方。但是,人,是不能停下腳步的。今天在檢查乙個mfc程式,看到getsafehwnd函式,於是讓我想明白...