将QString比较为0.它有效吗?

时间:2015-09-23 10:00:35

标签: qt4

在此代码中会发生什么:

QString s;
if(s!=0)

这里会应用哪个运营商或演员? 有效吗? (它确实编译) 它类似于isNull还是isEmpty?

1 个答案:

答案 0 :(得分:2)

看起来使用bool QString::​operator==(const char * other) const 运算符(或在您的情况下!=)将您的字符串与const char *进行比较。因此QString()将等于0.这样您就可以将QString("Hello")"Hello"进行比较。

可以使用

禁用此功能
DEFINES += QT_NO_CAST_FROM_ASCII

在您的项目文件中。将此更改添加到项目文件后,请确保您cleanrebuild您的应用。