【发布时间】:2011-10-03 07:40:17
【问题描述】:
如何使用 Boost 序列化库序列化双端队列向量。
目前,为此目的,我有以下代码:
#include <boost/serialization/deque.hpp> //in includes
Item1(6128, std::deque<float> ()), //constructor initializations
Item2(6128, std::deque<float> ()),
Item3(6128,std::deque<int> ()),
Item4(6128,std::deque<int> ()),
private:
friend class boost::serialization::access;
template <typename Archive>
void
serialize(Archive &ar,
const unsigned int /*file_version*/)
{
for (unsigned i = 0; i < Item1.size(); ++i)
{ar & Item1[i];}
for (unsigned i = 0; i < Item2.size(); ++i)
{ar & Item2[i];}
for (unsigned i = 0; i < Item3.size(); ++i)
{ar & Item3[i];}
for (unsigned i = 0; i < Item4.size(); ++i)
{ar & Item4[i];}
}
std::vector< std::deque<float> > Item1, Item2;
std::vector< std::deque<int> > Item3, Item4;
此代码编译并运行良好。但是,我存储的值与我在序列化时加载的值不同。难道我做错了什么?这是序列化双端队列向量的正确方法吗?
感谢您的反馈。谢谢!
【问题讨论】:
标签: c++ serialization boost