在 boost教程和使用共享指针的示例中,他们有一个类 A,并且他们创建了一个指向类对象的共享指针A
:
boost::shared_ptr<A> spa(new A);
然后他们将其序列化:
std::ofstream ofs(filename.c_str());
boost::archive::text_oarchive oa(ofs);
oa << spa;
那么为什么类A
必须有这个功能呢?
void serialize(Archive & ar, const unsigned int /* file_version */);
我想使用共享指针的原因是为了避免为我的一些复杂类定义这个函数。目前我没有使用共享指针,我使用的是真正的指针,我实际上是在序列化指针指向的地址。