C++中 NULL和nullptr關係

在C++中,NULL是一個宏,其實質是0。而nullptr是從C++11開始引入的關鍵字。
在C語言中,NULL的定義爲(void )0,由於C語言能夠隱式轉換。但在C++中,int p = (void ) 0這樣的語句會報錯,由於在C++中void 類型是不容許隱式轉換成其餘類型的,所以在C++中直接將NULL定義爲0,一個int類型的變量。這樣致使在出現重載函數的狀況下,程序會出現問題。ide

因此,C++11加入了nullptr,能夠保證在任何狀況下都表明空指針,而不會出現上述的狀況。
————————————————
版權聲明:本文爲CSDN博主「酷小川」的原創文章
原文連接:https://blog.csdn.net/kksc1099054857/article/details/87938288函數

相關文章
相關標籤/搜索