大佬教程收集整理的这篇文章主要介绍了C 98正确检查空指针,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想C中有一个NULL宏,我从一些东西here和here中读到了C,但是我仍然不确定在这个较旧的C标准中检查空指针的正确方法是什么.
我本质上希望能够使用Boost Test为我的测试用例编写这段代码:
aWrapperDataStructure x; BOOST_checK_NE(x.get_ptr(),static_cast<decltype(x.get_ptr())>(nullptr));
但是,正如Tutorials Point所建议的那样,考虑到约束,这样的事情更合适:
BOOST_checK(x.get_ptr()); //true when not NULL
虽然有些事情让我失望,所以我想知道这里的最佳做法是什么.如果它在某个地方,或在SO上,它已被埋没,我找不到它.谢谢!
@H_403_4@
这对我来说绝对够用.我发现这些表达式用于检查空指针:
(p != NULL) //requires #include <stddef.h> (p != 0) (p)
在这3个中,我在我的问题中提到的最后一个,是从指针到bool(嘶嘶声)的隐式转换.使用!=和==至少会显式转换为bool,而且,使用NULL显示您检查空指针的意图.
因此,我认为即使不使用g,表达式(p!= NULL)也是旧C标准最合适的方式. (但是,我仍然会放弃别人的专业知识并标记他们的答案;我只是一名本科生.)
@H_403_4@ @H_403_4@以上是大佬教程为你收集整理的C 98正确检查空指针全部内容,希望文章能够帮你解决C 98正确检查空指针所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。