我找到了一些包含这些奇怪行的代码示例
QList<TDataXml *> *newXMLData = input->getValue<QList<TDataXml *>>();
if(newXMLData)
{
// do things
}
我不明白 if(newXMLData)
。这是一个 QList。陈述什么时候应该为真或为假?为什么不改用 Qt isEmpty() 方法?
谢谢
最佳答案
if(newXMLData)
检查是否为空,因为 newXMLData
是一个指针,因此它可能不指向任何对象,在这种情况下它的值为 nullptr
(或 C++03 中的 NULL
)。
如果 newXMLData
不是 nullptr
,那么它将是 true
并且 if block 将执行,否则 false
和 if-block 将不会执行。
它与 (C++11) 相同:
if(newXMLData != nullptr) //or if(newXMLData != NULL) in pre C++11
{
//your code
}
关于if语句中的C++ QList,默认值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205061/