私は を持っていますが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 の長さを知っていますか?