Каков наилучший способ вычисления qHash
значения QRect
?Мне нужно использовать QRect
(и, возможно, QRectF
) в качестве ключа QCache
.Прямо сейчас я использую что-то вроде этого:
inline uint qHash(const QRect & r)
{
return qHash(QByteArray::fromRawData((const char*)&r, sizeof(r)));
}
Кажется, это работает, но мне не нравится преобразовывать его в некоторые необработанные байты, и, поскольку QRect не является простой структурой, она может сломаться раньше, чем позжебудущие версии Qt.
Кстати.Я не храню значения хешей, поэтому он не должен быть постоянным или кроссплатформенным.Но это должно быть надежно и быстро.
Спасибо.