if(指針變量)
當把一個指針作為條件表達式時,所要判斷的條件實際上就是“該指針是否為一空指針”。
在if,while,for或do/while等語句中,或者在條件表達式中,都可以使用指針。
代碼演示 if(指針變量)
解讀代碼
if (指針) {
// 不是空指針 執行這個
}else {
//指針 是一個空指針, 執行這個
}
if(!指針變量)
解讀代碼
注意看上面,我讓她打出的是p 不是pointer!
if (!指針) {
// 如果指針是空指針 !指針后 那么條件就成立了。也就是會執行這個地方的語句
}else {
// 如果指針不是空指針 !指針后 那么條件相當於false了。也就是會執行這個地方的語句
}
總結
if(指針)
主要用來判斷如果指針非空指針的時候,進行需要的操作。
if(p){
//指針不為空,滿足我們需要的條件,繼續進行需要的操作
//xxxxx
}else {
// 指針為空了,進行相應的操作,終止操作,結束程序之類的。
}
if(!指針)
主要用來判斷如果指針是空指針的時候,進行出錯處理和return 出去。說明有錯誤了。
if(!p){
// 只有指針為空,才會進入此部分,那么進行出錯處理之類的。
// xxxxx
} else {
// 一般沒有else
}
替代方案。推薦寫法!!!!!
如果沒有寫習慣,是不是很不習慣!對的,我感覺有點反常人類思維。
下面的是不是更加清晰好理解呢。 一看就明白去哪個分支去執行。
if (nullptr == p) {
//
} else {
//
}
if (nullptr != p) {
//
} else {
//
}