Imは、C++で抽象オブジェクトのコンテナを含むオブジェクトをシリアライズしてデシリアライズしようとしていますが、上記のコード例を誰かが知っていますか?C++で抽象オブジェクトのコンテナを含むオブジェクトを直列化および逆直列化するにはどうすればよいですか?
あなたが呼ばれるあなたの抽象クラスのメソッドを作成することができ
0
A
答えて
1
:
virtual void serialize(char *out, int outLen) = 0;
...と順番に静的デシリアライザ:
あなたのデシリアライザでAbstractClass deserialize(char *serializedString, int strLen);
、あなたがデシリアライズするために異なる戦略を持つことができます抽象クラスの右サブクラスです。
3
boost::serializeをご覧ください。
これには、serialization of containersを支援する方法が含まれています(リンクが左にフレームを失います)。
もちろん、そのページにスキップするだけではなく、すべてのことを読む必要があります。 :)
2
他の言語とは異なり、C++には、この種のシリアル化が「焼き付け」されていません。あなたはライブラリを使いたいと思っています。 Boost.Serialization,Google Protocol Buffers(ファイル形式でもよい)またはApache Thriftなどです。
1
ちょっと戻って同様の質問をしました。それは特に良かったディーバラの答えを見てください。このメソッドでは、抽象型の新しいオブジェクトを追加することで、既存のコードをほとんど操作できなくなります(つまり、デシリアライザにオプションを指定すると、追加のswitch/elseを追加せずにシリアル化できます)。
関連する問題
- 1. データ損失なしで例外オブジェクトを直列化および逆直列化する方法は?
- 2. FormCollectionを直列化および逆シリアル化する方法は?
- 3. 静的メンバーを直列化および逆直列化する方法
- 4. Javaの直列化オブジェクトから選択データを読み込むにはどうすればよいですか?
- 5. angular2 RouteParams、直列化、および複雑なオブジェクトや配列
- 6. Asp.Netコア:jsonでIFormCollectionを直列化および逆シリアル化する方法
- 7. JSON.Netで直列化および逆シリアル化を行う際に、アセンブリ名を型名から省略するにはどうすればよいですか?
- 8. 直列化および外部化
- 9. Jacksonは二重引用符を使用せずにオブジェクトを直列化および逆シリアル化します
- 10. 子配列を含むjsonオブジェクトをカスタムC#-objectに非直列化する
- 11. メンバーによるオブジェクトの直列化
- 12. C#でポインタを直列化および逆シリアル化する方法はありますか?
- 13. .Textを使用してJsonを直列化および逆直列化する方法
- 14. オブジェクト継承によるWCF直列化?
- 15. 配列を直列化して逆直列化する方法
- 16. Javaで抽象クラスまたはインターフェイスのオブジェクトをシリアル化および逆シリアル化する方法は?
- 17. どのオブジェクトをURIに直列化するのですか?
- 18. C++でオブジェクトをシリアライズおよび逆シリアル化する
- 19. Json.Netでenum値に設定されたオブジェクトプロパティを直列化および逆シリアル化する方法
- 20. Javaオブジェクトをピクルス(Python)で直列化解除できるようにシリアル化するにはどうすればよいですか?
- 21. Shadow DOMを含むHTML DOMを直列化するにはどうすればいいですか?
- 22. Jsonオブジェクトを逆シリアル化するにはどうすればよいですか?
- 23. JSF直列化/逆シリアル化
- 24. オブジェクト直列化のパラメータ
- 25. Objective CでJSON直列化データをNSDictionaryに変換するにはどうすればよいですか?
- 26. cbor2でオブジェクトをシリアライズおよび逆シリアル化する方法は?
- 27. MVCコントローラでオブジェクトを直列化オブジェクトに変換する方法
- 28. 非直列化可能クラスおよびクラスでのkryo直列化処理は、直列化不可能な属性を持ちますか?
- 29. クラスにデータを逆直列化する
- 30. XMLシリアル化質問 - 1つのオブジェクトから要素、属性、およびテキストを直列化する方法
抽象的なオブジェクトとは何ですか?抽象クラスはオブジェクトをインスタンス化できないクラスであるため、抽象オブジェクトという言葉は私には驚くほどよく聞こえます。 –
私はそれがコンテナとオブジェクト自体に依存していると信じています。私の理解から、あなたはあなたのオブジェクトをシリアライズできるように、それぞれを直列化することができなければなりません。 IE:オブジェクトをシリアル化します。これはコンテナをシリアル化します。コンテナをシリアル化すると、含まれている各オブジェクトがシリアル化されます。 – dborba
@ダニエル - 私は彼が意味することは、コンテナがそれが含むオブジェクトの型を認識していないということです。しかし私は間違っているかもしれません。 – dborba