在此代码中会发生什么:
QString s;
if(s!=0)
这里会应用哪个运营商或演员? 有效吗? (它确实编译) 它类似于isNull还是isEmpty?
答案 0 :(得分:2)
看起来使用bool QString::operator==(const char * other) const
运算符(或在您的情况下!=)将您的字符串与const char *
进行比较。因此QString()
将等于0.这样您就可以将QString("Hello")
与"Hello"
进行比较。
可以使用
禁用此功能DEFINES += QT_NO_CAST_FROM_ASCII
在您的项目文件中。将此更改添加到项目文件后,请确保您clean
和rebuild
您的应用。