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類型的變量。這樣導致在出現重載函數的情況下,程序會出現問題。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章