计算的最佳方法是什么qHash
的值QRect
?我需要使用QRect
(有可能QRectF
) 作为关键QCache
。现在我正在使用这样的东西:
inline uint qHash(const QRect & r)
{
return qHash(QByteArray::fromRawData((const char*)&r, sizeof(r)));
}
它似乎可以工作,但我不喜欢将其转换为一些原始字节,并且由于 QRect 不是一个简单的结构,因此在 Qt 的未来版本中这可能会早日崩溃。
顺便提一句。我不存储哈希值,因此它不必是持久的或跨平台的。但它确实需要可靠且快速。
Thanks.
我会简单地做return qHash(QString("%1,%2,%3,%4").arg(r.x()).arg(r.y()).arg(r.width()).arg(r.height())))
我还找到了这个解决方案:http://thesmithfam.org/blog/2008/01/17/using-qrect-with-qhash/ http://thesmithfam.org/blog/2008/01/17/using-qrect-with-qhash/(阅读评论)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)