关于串行化的实现问题?????

bilbo0214 2003-10-09 10:53:22
MFC中提供了对象串行化的机制。
我想用C++实现同样的功能,而不使用MFC的对象,将对象串行化保存在文件中,也可以从文件中读入再创建。
这个功能如何实现????
请高手指点。
...全文
79 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bilbo0214 2003-10-13
  • 打赏
  • 举报
回复
指针内容直接保存没有意义,这一点是确定的。
但是指针所表示的关系要用某种形式存储,才能重建。

谢谢各位的讨论。
各位说的资料我这几天看了,也查了不少,最后我使用Serializer模式实现了串行化的功能,
我认为重载<<也能实现,但不是串行化的本质。
如有不同意见欢迎讨论:wang.lei.214@163.com
zhukeke 2003-10-10
  • 打赏
  • 举报
回复
“可能是完全可能的,但被保存的指针值是完全没用的。因为下次数据再装入内存时,被指向元素的位置未必还在上次程序运行时的那个位置。”

不能同意楼上的。指针的串行化并不是把指针直接保存,而是间接的,并不会出现上述情况。
晨星 2003-10-10
  • 打赏
  • 举报
回复
可能是完全可能的,但被保存的指针值是完全没用的。因为下次数据再装入内存时,被指向元素的位置未必还在上次程序运行时的那个位置。
zhukeke 2003-10-10
  • 打赏
  • 举报
回复
所谓“串行化”,其核心其实就是指针的串行化。这只要将指针所指的类做成支持串行化的就可以了。
例如:
class A;
A* p;
若想将指针p串行化,只要将类A做成支持串行化的类就可以了(如果类A的成员还有指针,则该指针所指向的类也要做成支持串行化的,以此类推。)
至于如果将一个类做成支持串行化的类,就不用我说了吧。
bilbo0214 2003-10-10
  • 打赏
  • 举报
回复
可能我的问题不是很清楚,
一般对象属性的串行化当然很容易做到,
我现在想把对象的指针也保存到文件中,在C++ in Action一书中说这是不可能做到的,
是否完全不可能????????
daizh 2003-10-10
  • 打赏
  • 举报
回复
关于“对象串行化的机制”你可以看看侯捷的《深入淺出 MFC》这本书。
dddd8888 2003-10-10
  • 打赏
  • 举报
回复
重载“>>”和“<<”运算符

fstream fout
fout << "hello world" << endl;
bilbo0214 2003-10-10
  • 打赏
  • 举报
回复
查了,但都讲的不明白。
能否解释解释?????
晨星 2003-10-09
  • 打赏
  • 举报
回复
重载“>>”和“<<”运算符,一般的C++书上都有讲的,自己弄一本来看看吧。
bilbo0214 2003-10-09
  • 打赏
  • 举报
回复
有人回答吗?

69,375

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧