This OpenSSL的例子包含這樣的代碼:否定不等於NULL與否定不同?
const SSL_METHOD* method = SSLv23_method();
if(!(NULL != method)) handleFailure();
這是從以下不同的非空檢查?
if(!method) handleFailure();
,我可以看到他們的方式的唯一原因是,它可能是更接近語義:「它應該不空(NULL != method
),但如果不是這樣(的!
),然後我們應該處理失敗。「
@ 2501所以我錯了。我取消。我記得像_it這樣的東西不必用全零位表示_ – LPs
@LPs表示與值不同。 – 2501
@LPs如果'NULL'保證爲零或者沒有,我記不起頭頂,但是如果不檢查空指針,''''操作符會做什麼? – Quentin