C++核心准则ES.47: 使用nullptr表现空指针,而不是0或NULL​

共 879字,需浏览 2分钟

 ·

2020-05-14 23:21

e2ab5ee993b471be59925c25dc07a3cd.webp

ES.47: Use nullptr rather than 0 or NULL

而不是ES.47: 使用nullptr表现空指针,而不是0或NULL


Reason(原因)

Readability. Minimize surprises: nullptr cannot be confused with an int. nullptr also has a well-specified (very restrictive) type, and thus works in more scenarios where type deduction might do the wrong thing on NULL or 0.

可读性。最小化意外性。nullptr不会混同于整数。同时nullptr具有良好定义(非常严格的)的类型,很多情况下使用NULL或0会导致类型推断出错,但使用nullptr就不会。


Example(示例)

Consider:

考虑以下代码:

void f(int);
void f(char*);
f(0); // call f(int)
f(nullptr); // call f(char*)
Enforcement(实施建议)

Flag uses of 0 and NULL for pointers. The transformation may be helped by simple program transformation.

标记使用0或者NULL表现指针的情况。这种变换可以或许可以通过简单的程序进行。


原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es47-use-nullptr-rather-than-0-or-null




觉得本文有帮助?请分享给更多人。

关注微信公众号【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报