检查非空指针:if(pointer) 与 if(pointer != NULL)
问题:
使用 if(pointer) 而不是传统的 if(pointer != NULL) 来验证指针的非空状态是否可以接受?
答案:
是的,这是允许的。使用 if(pointer) 是安全的,因为空指针会隐式转换为布尔值 false,而非空指针会转换为 true。此行为在 C 11 标准的布尔转换部分中定义:
“算术、无范围枚举、指针或指向成员类型的指针的纯右值可以转换为 bool 类型的纯右值。零value、null 指针值或 null 成员指针值转换为 false 任何其他值都可以转换为 true。 std::nullptr_t 类型的纯右值可以转换为 bool 类型的纯右值;
以上是使用“if(pointer)”而不是“if(pointer != NULL)”检查非空指针是否安全?的详细内容。更多信息请关注PHP中文网其他相关文章!