C如何判斷指標是否指向有效的物件

時間 2021-08-11 17:47:26

1樓:

可以在通過一個指標刪除任何一個物件後,都把這個指標置成null。

另外,還沒有指向任何物件的指標也把它初始化成null。

這樣,就可以:

if(p)

else

在宣告瞭指標變數以後,就可以利用該指標變數來對所指向的物件進行操縱,當然在進行操縱前必須保證所操縱的物件是有效的,即該指標不為空,否則會引起“記憶體訪問衝突”的錯誤,導致程式崩潰。

判斷一個指標是否有效的辦法是判斷它是否為空指標:

else然而這樣的判斷方法需要有一個前提保證的,即是前面所說的在宣告指標時如果沒有明確指向一個已知的變數,則將其置空,在不再需要使用這個指標時也將其置空。如果該指標指向一塊動態分配的記憶體空間,在釋放後也應該將其置空。在這個前提下,前面判斷才是正確的

2樓:環琇瑩

判斷一個指標是否有效的辦法是判斷它是否為空指標:

else然而這樣的判斷方法需要有一個前提保證的,即是前面所說的在宣告指標時如果沒有明確指向一個已知的變數,則將其置空,在不再需要使用這個指標時也將其置空。如果該指標指向一塊動態分配的記憶體空間,在釋放後也應該將其置空。在這個前提下,前面判斷才是正確的

c++中如何判斷一個物件是否屬於某個類?

3樓:雨厚天勤

解決**如下:

c++ 中62616964757a686964616fe58685e5aeb931333365646334

base * p=new a();

base* is = dynamic_cast(p);

return is ? true : false;

類宣告如下:  class father;    class child : public father;    然後在某處這樣寫:

 father *apinstance[2];//a是array的縮寫,p是pointer的縮寫,變數名叫instance。

c++如何判斷兩個物件是否是同一個物件?判斷兩個物件的地址可以嗎?

4樓:

地址相同自然是同一個物件了

自定義類你可以過載operator ==啊

5樓:倒黴熊

不明白,你這裡說的相同是指相等呢

6樓:匿名使用者

可以用auto_ptr儲存一個物件,則這個物件是唯一的,就不用判斷了。

如何判斷你對人的認知是否太過主觀

達 看這個人處理某件事的態度,不一定要在大是大非面前,在一些小事就能觀察,例如平時去 吃飯,你認為這部電影怎麼樣,你覺得這件事怎麼處理等等,還有就是需要些時間觀察,畢竟日久見人心,相處久了才知道為人如何。 葛向蕊 對他人的判斷受到首因效應的影響,從而使最先獲得的資訊印象深刻,即使印象刻板性印象一起塑...

如何用C 寫關於判斷數是否為素數的程式

問明 include iostream include math h usingnamespacestd boolisprime intnumber for int i 2 i i number i if number i 0 return false return true void printn...

c語言中如何判斷兩個char型的陣列是否相同

為什麼用strcmp比較出來是不相等,難道你的a,b不是字串,而是分別有10個字元把陣列佔滿了,那樣的話strcmp肯定不能用的,strcmp只能針對字串. 使用 0 啊,即先用長度函式 不好意思我不記得拼寫了 判斷兩者長度,長度相同時,求出長度n,此處n 1。然後a 1 0 b 1 0 意思即是a...