【发布时间】:2015-10-26 09:18:17
【问题描述】:
我有一个 QHash<const QString id, MyClass> ,而 MyClass 只是一些带有 getter 和 setter 的 QString quint8 值的集合。 MyClass 也有一个 QDataStream &operator<<(QDataStream &ds, const MyClass &obj) 覆盖,那里。
要序列化我使用:
typedef QHash<const QString, MyClass> MyClassHash;
//..
QDataStream &operator<<(QDataStream &ds, const MyClassHash &obj) {
QHashIterator<const QString, MyClass> i(obj);
while(i.hasNext())
{
i.next();
QString cKey = i.key();
ds << cKey << i.value();
}
return ds;
}
现在,我对另一个感到困惑:
QDataStream &operator>>(QDataStream &ds, MyClassHash &obj) {
obj.clear();
// ?
return ds;
}
我想知道那个序列化 QHash 的长度吗?
【问题讨论】:
标签: c++ serialization qt5 qhash qdatastream