C++核心准则ES.47: 使用nullptr表现空指针,而不是0或NULL
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
觉得本文有帮助?请分享给更多人。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发,面向对象思考!
评论