Qt -- .isNull()和.isEmpty()的区别

NULL字符串和空(empty)字符串的区别: 一个NULL字符串就是使用QString的默认构造函数或者使用(const char*)0作为参数的构造函数的创建的QString字符串对象;而一个空的字符串是一个大小为0的字符串。

一个NULL字符串一定是一个空字符串,而一个空字符串未必是一个NULL字符串。例如:

 

复制代码
QString().isNull();//结果为true

QString().isEmpty();      //结果为true

QString("").isNull();//结果为false**

QString("").isEmpty();  //结果为true**

qDebug() << QString((const char *)0).isEmpty();    //结果true
qDebug() << QString((const char *)0).isNull();        //结果true
if((const char *)0==NULL)     //相等
qDebug() << "相等";
复制代码

 

posted @   手磨咖啡  阅读(922)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示