我知道在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 关注
- 624 浏览
添加回答
举报
0/150
提交
取消