Pie*_*ter 7 c++ serialization static boost
我正在使用Boost.Serialization来存档类的内容.其中一个成员变量是静态std :: vector.
存档和恢复很顺利,但我有点希望库只保存一次静态成员,看来,从文件大小来看,静态成员是为每个存档实例完全保存的.
通过对静态向量使用set/getters并将类外部的静态向量序列化一次,可以很容易地避免这种情况.
但我宁愿拥有一个自给自足的课程.是否有一种干净简单的方法来实现仅对类的静态内容进行一次归档?
在序列化所有类的实例之前序列化静态向量。
如果像这样序列化向量:
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & this->someVar;
ar & this->AnotherVar;
ar & staticVector;
}
Run Code Online (Sandbox Code Playgroud)
当然,静态向量确实会与每个实例进行序列化。
如果您需要任何进一步的说明,serialize请发布您的函数和调用它的函数。
| 归档时间: |
|
| 查看次数: |
1789 次 |
| 最近记录: |