加载并将类保存到二进制文件

时间:2010-06-06 02:44:58

标签: c++

我不知道这是否可行但是,我有一个班级,我做了一个实例。我也把东西放在里面。它有矢量和其他东西。我想知道我是否可以将其内容(实例)保存到二进制文件中,然后重新加载并将其从文件中转换出来。感谢

3 个答案:

答案 0 :(得分:4)

每当有一个C ++问题时,答案很可能是Boost。检查Boost Serialization

答案 1 :(得分:4)

是的,有时候,有点......

序列化是一个棘手的问题。不要自己解决(即不要重新发明轮子......很多聪明的人已经这样做了)。您所描述的内容适用于受限环境:

  • 您的读写机具有相同的endianness
  • 您的类仅包含其足迹内的数据(没有指针或带指针的对象)。
  • 这不适合现实世界
    • 现实世界通常需要更好的东西
    • 现实世界通常希望向后兼容变化
    • 现实世界通常无法预测硬件变化

您可能希望研究不同的序列化方案。他们有自己的优点和缺点,你可以在StackOverflow上找到大量详细信息。

为了帮助您入门,请查看Google's protocol buffersboost serializationXML

答案 2 :(得分:1)

如果你想要的话,可以选择提升s11n