程序中有这样一段代码while (!rs.eof)
{
CObject *obj = new CObject;
......
arrayOfObjects.Add (obj);
}arrayOfObjects.Serialize (dataFile);// start
for (int i=0; i<arrayOfObjects.GetSize(); i++)
delete arrayOfObjects[i];
// end如果去掉start 和 end之间的代码, 序列化没有问题,但是如果加上,序列化后的文件中会出现乱码.因为一次性要查多个数据库表,查出来的数据量特别大,所以需要边查边写文件,写完文件后要及时回收内存,再将文件压缩后传递给客户端. 所以不太可能写完文件后再一次性回收内存.请问为什么会出现乱码?serialize难道新建了个线程来做这个事情?如果不是的话我这样子写是可以保证写完文件的啊.
{
m_strFilename = xxxSrc.m_strFilename
.....;
return *this;
}操作符的函数我都加上了,但是拷贝构造函数没有写,因为类的数目比较多,一个个写下去可能要一个星期. 如果没有写拷贝构造函数,只有这个操作符,那么序列化的时候也会有问题么?