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中的指標指向string類的其中某字元
1 string類成員函式c str 的原型 const char c str const 返回一個以null終止的c字串 2 c str 函式返回一個指向正規c字串的指標,內容和string類的本身物件是一樣的,通過string類的c str 函式能夠把string物件轉換成c中的字串的樣式 3 ...
如何定義指向函式的指標
一 定義一個函式指標的方法如下 返回值型別 指標變數名 形參列表 1 int func int x 宣告一個函式 2 int f int x 宣告一個函式指標 3 f func 將func函式的首地址賦給指標f 二 函式指標的用法 函式指標的應用 指標變數名 引數列表 如 int c ptr a,b...
c語言指標怎樣指向一段字串,C語言指標怎樣指向一段字串?
第五十六集 指標指向字串 將指標指向該字串的首地址即可。比如 char a abscdf char p a 將字串 abscdf 的首地址 即陣列名 賦值給指標p puts p 等價於puts a 也可以參考下面的示例程式 char p abscdf 在定義指標的時候,就使指標p指向該字串 首先s是...