当我尝试研究 QP/CPP 代码时,我遇到了以下行。
QTimeEvt *t;
// ...
if (t == static_cast<QTimeEvt *>(0)) {
为什么他们要做 0 的 static_cast? 如果他们想检查 NULL,我们可以直接这样做吗?
这个源代码你可以在
中找到http://www.state-machine.com/qpcpp/qf__time_8cpp_source.html
最佳答案
是的,这是不必要的,尽管它可能是某些风格指南为了“清晰”而强制要求的,或者它可能是为了让过度热心的静态分析工具沉默。
当然,如今,我们只需编写 nullptr
就可以了。
关于c++ - 为什么我们使用 static_cast 为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41293466/