☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

不应将 NULL 当作整数使用

10.2.8 ID_oddNullAssignment
目录 › next › previous

标识符 NULL 由实现定义,在 C++ 语言中往往等同于常量 0,但 NULL 只应该用来表示空指针,否则不利于阅读和维护。

被当作整数使用的 NULL 也很可能意味着某种错误。

示例:

const int i = NULL;        // Non-compliant
const char c = NULL;       // Non-compliant
void foo(bool x = NULL);   // Non-compliant

应改为:

const int i = 0;           // Compliant
const char c = '\0';       // Compliant
void foo(bool x = false);  // Compliant

依据

ISO/IEC 14882:2003 C.2.2.3(1)-implementation ISO/IEC 14882:2011 C.3.2.4(1)-implementation ISO/IEC 14882:2017 C.5.2.7(1)-implementation

参考

MISRA C++ 2008 4-10-1
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.