【发布时间】:2012-07-28 22:14:07
【问题描述】:
我有一个看起来像这样的 C++ 对象
class myClass
{
vector<OtherClass*> otherClassVector;
AnotherClass* anotherClassObj;
// A few other primitive types and functions
}
将其存储到磁盘并以编程方式读回的最佳方法是什么? 在二进制模式下使用 fstream 读/写会起作用吗?还是应该使用 boost 序列化?为什么? 我不要求存储的文件是人类可读的。
【问题讨论】:
-
fstream 以二进制模式读/写可以工作,只要你不认为你可以一次性写出整个对象。您必须自己编写代码来编写每个单独的子对象以及矢量大小和其他所有内容。这是为了避免这种繁琐且容易出错的工作,您应该考虑使用 boost。
标签: c++ file serialization