Qt-Qt QString 的比较方法?

发布于 2016-12-15 11:17:35 字数 112 浏览 1343 评论 1

Qt 中的 QString 有两种比较方法,一个是 compare 函数,一个是 “==” 操作符,它们都可以进行 QString 之间或和其他字符串的比较,这两种比较方法有什么不同啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-03-13 01:32:16

这是QString==的源码

bool operator==(const QString &s1,const QStringRef &s2)
{
return (s1.size() == s2.size() &&
qMemEquals((const ushort *)s1.unicode(),
(const ushort *)s2.unicode(), s1.size()));
}

这是QString compare的代码

int QString::compare(const QString &other) const
{
return ucstrcmp(constData(), length(), other.constData(), other.length());
}

由于这两个函数都有很多的重载形式,所以选出两个具有代表性的出来说明问题。
从返回值来看可以知道,==相等的时候返回true,不等返回false。而compare则是按字典顺序的大于小于等于返回小于0,等于0和大于0三种结果。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文