我知道在C ++中0x或在基于指針的應用程序中NULL已被替換nullptr。我只是好奇他們為什么要進行這種替換?在什么情況下使用指針時nullptr過度使用是NULL有益的?
3 回答

交互式愛情
TA貢獻1712條經驗 獲得超3個贊
您可以找到一個很好的解釋,為什么它被替換為:讀取空指針的名稱:nullptr,引用該論文:
此問題分為以下幾類:
通過為用戶提供一種減少模棱兩可的代碼的方式來改善對庫構建的支持,從而使庫編寫者不必再擔心整數和指針類型的重載。
通過使更容易明確地表示整數0和nullptr來改進對通用編程的支持。
使C ++易于教授和學習。

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
這是Bjarne Stroustrup的措辭,
在C ++中,NULL的定義為0,因此僅存在美學差異。我更喜歡避免使用宏,所以我使用0。NULL的另一個問題是,人們有時會錯誤地認為它不同于0和/或不是整數。在標準前代碼中,有時將NULL定義為不合適的值,因此必須避免。這些天來這種情況不太常見。
如果必須命名空指針,則將其命名為nullptr;這就是C ++ 11中的名稱。然后,“ nullptr”將成為關鍵字。
- 3 回答
- 0 關注
- 648 瀏覽
添加回答
舉報
0/150
提交
取消