VC++对vector的序列化
(2013-05-13 18:20:22)
标签:
vcserialize序列化vectorit |
描述:
首先我想说的是,我的操作对象是N个点,而我要对着些点进行序列化,并且在保存这些点的时候我用的是向量(vector)容器,这样就存在一个问题,在进行序列化的时候该对其进行多少次保存操作呢,即使你保存了,那么又得怎样将其度出来呢,读的时候需要读多少次呢,这都需要我们考率到,下面这些代码可以解决这些问题。
代码:
void Cpath::Serialize(CArchive& ar)
//这里的Cpath是我自己定义的一个类
{
if(ar.IsStoring())
{
ar<<this->pvec.size();
//在进行保存vector内点之前先保存一下当前对象的vector有多少个元素
for(int
i=0;ipvec.size();i++)
ar<<pvec[i];//一次对vector中的点进行保存
}
else
{
int
count;
CPoint
pttemp;
ar>>count;//首先将vector中点的个数读出来,这样就能知道当前对象的vector中有几个点
for(int
i=0;i
{
ar>>pttemp;//一次读出点
this->pvec.push_back(pttemp);//然后将其push_back()到当前对象的vector中
}
}
}
代码:
void Cpath::Serialize(CArchive& ar)
{
}