0

多くの動的 (QVectors) および静的フィールドを持つ構造があり、それをシリアル化する必要があります。私はこれを喜んで使用します: http://www.developer.nokia.com/Community/Wiki/Qt_Object_Serialization

しかし、この構造には必要なフィールドがありますが、シリアル化したくないのですが、それを回避する方法はありますか?

4

1 に答える 1

3

シリアル化を実装するには、QDataStream + データ構造の<<and演算子を定義します。>>したがって、シリアル化したくないフィールドを書き込まないでください。

編集: カスタムクラスをシリアル化するために必要なこと:

class MyClass
{
    int member1;
    int member2; // <- Don't serialize me!
    int member3;

public:
    //Constructors and methods and bears (oh my!)...

    friend operator << (QDataStream& stream, const MyClass& myclass)
    {
        //Don't write member2:
        return stream << myclass.member1 << myclass.member3;
    }

    friend operator >> (QDataStream& stream, MyClass& myclass)
    {
        //Don't read it, either:
        return stream >> myclass.member1 >> myclass.member3;
    }
};
于 2012-07-24T16:50:57.347 に答える