0
我剛開始學習C++,並且在C++入門中遇到了2個練習。這個練習中的1個我無法理解。C++入門練習
練習2.22 C++底漆
假設p
是一個指向int
,解釋下面的代碼:
if (p) //....
if (*p) //....
正如我在1個語句理解我們檢查指針p的條件是否其true
或false
在2聲明中,除了這次我們使用解除引用運算符
以外所有操作都是相同的如果我錯了,你能告訴我我的錯誤在哪裏嗎?
而且接下來的練習,這個練習我無法理解
練習2.23
鑑於指針p
,你能確定是否p
指向一個有效的對象?如果是這樣,怎麼樣?如果不是,爲什麼不呢?
我知道的事情是,當你的變量被初始化並且具有與指針相同的類型時,你可能知道你的指針指向了有效的對象。而且試圖訪問無效指針可能會導致代碼問題,並且編譯器螞蟻會發現此問題。
這個練習還有別的可以補充的嗎?或者我的猜測是錯誤的?
謝謝你的時間!
附加一點澄清:通常,指針在它們持有對對象的引用之前被初始化爲「NULL」(=='0')。此外,工廠函數(實例化對象)通常在錯誤上返回NULL,而不是有效的指針。 – 2013-04-09 03:51:15
謝謝。那幫我 – AlexGreat 2013-04-09 03:51:59
@AlexGreat歡迎來到C++ :) – gongzhitaao 2013-04-09 03:57:09