关于MFC串行化(永久保存)的疑问

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:35:36
书上说,是将对象的数据保存到硬盘上,那我编写程序的时候不是从某个类
new出一个对象吗?这个类的成员变量和方法不是很写的很清楚了吗?打开文件的时候根据这个类重新New出来这个类的对象不就可以了吗?还要搞个Serialize()干什么呢?照这么说,我用记事本保存TXT文件的时候也会有串行化的过程吗?谢谢大家!
如果要实现串行化的话,还请大家给个简单的例子!

如果你new出来一个跟以前的一样那当然不用串行化了, 所以也并不是什么类都被串行化保存了的吧

但是有些类在运行过程中里面存储了一些信息, 改变了一些参数, 那么当你重新new一个,这些东西就丢掉了,它的表现就跟你之前的不一样了, 当然你可以写个构造函数把这些改变的部分全都作为参数,不过这不也一样麻烦么。 其实串行化就是一个统一的,保存这些参数的过程。

至于你保存文本文件有没有串行化的过程, 这问题其实毫无意义, 串行化是编程当中的概念, 有没有这个过程是程序员决定的, 写记事本那人到底用没用串行化谁知道呢。 基本上这个简单的事是不会用,不过他要是脑子进水非要用这玩意我也拦不住他不是么

在学习的过程中你要知道,你看到的一系列技术方法之类的都只是工具,不是说非要用上才算是编程了, 用不用,怎么用,都是人来选择的, 你要是就觉得他没用那就不用好了,没它地球一样转

new是在内存中new的。而数据要以文件的方式写在硬盘上,最终调用Serialize()序列化操作,它是将数据序列化到文档类对象缓冲区中,然后再写入数据到硬盘,就我们看到的文件。

用记事本保存Txt文件也是有这个过程。虽然你会用OnSave方法。但最终调用的还是Serialize()方法将数据写入到硬盘。知道了吗。多看看serialize怎么实现的。特别看看<<,>>这两个操作符。

我说的有点小问题,同意上面的。

关于MFC串行化的问题,可以看看《深入浅出mfc》,书中说得很清楚。