对象持久化的概念是什么?

7

Object persistence 在C++中是什么意思?你能用实例解释一下或者提供相关链接吗?谢谢。


1
在什么上下文中?这个问题是完全无法回答的。在英语中,单词可能有许多定义,短语也更多。除此以外,Stack Overflow并不是一个询问可以轻松通过谷歌搜索找到定义的地方。如果这个主题很重要,那么很有可能有一篇维基百科文章介绍它。如果您已经阅读了该文章,还有具体问题,请编辑您的问题以反映这些问题。 - Cody Gray
2
@Code Gray & Robit:非常感谢你们的建议。但我有一个问题,我来自中国你知道吗?Google在我们国家已经被禁止了很长时间,真是遗憾。我们能使用的是百度这个大搜索引擎,但是我们不能像Google那样从中获取更多信息。所以我提出了这个问题。再次感谢。 - Mr.Tu
哦,对不起伙计。你本可以提到这一点的。那么还需要更多的东西吗?那个链接解决了你的问题吗?当你发问题时,请注明问题所在的上下文。请参阅常见问题解答。 - Rohit Vipin Mathews
上次(一个月前)我去中国的时候,谷歌还能正常工作... - J.N.
那张图片与问题无关。如果是为了让其他人知道谷歌不工作,你的话就足够了。 - Rohit Vipin Mathews
1个回答

12
大多数对象在超出范围时停止存在。这可能是在创建它们的函数终止时。也可能是当它们所在的容器被删除时。无论如何,可以预期它们会在程序退出时消失。持久对象是那些在程序连续调用之间存活的对象。这样一个对象的经典例子是数据库记录。
请查看以下链接: 类似于永恒的C++对象持久化库

http://sourceforge.net/projects/litesql/

http://www.codesynthesis.com/products/odb/doc/manual.xhtml

http://en.wikipedia.org/wiki/ODB_(C%2B%2B)

http://drdobbs.com/cpp/184408893

http://tools.devshed.com/c/a/Web-Development/C-Programming-Persistence/

C++目前不直接支持持久性(未来可能会添加持久性和反射的提案)。持久性支持并不像一开始看起来那样简单。同一个对象的大小和内存布局在不同平台上可能会有所不同。不同的字节序,即端序,更加复杂。要使一个对象持久化,我们必须将其状态保留在非易失性存储设备中。例如:写入持久对象以在创建它的程序范围之外保留其状态。


制作C++对象持久化:隐藏指针。有一份PDF文件可用,但我找不到链接。如果您认为这可能是有用的东西,我可以发布它。 - Rohit Vipin Mathews
你已经阅读了其他参考资料并掌握了对象持久化的基础知识吗? - Rohit Vipin Mathews
你需要回答的上下文是什么?你想要通过对象持久化做些什么?也许通过添加更多细节来改进问题。 - Rohit Vipin Mathews
除非将C++对象写入某个外部文件,否则它们不支持持久性。也许你可以找到这篇文章,并将其作为编辑发布到你的问题中。 - Rohit Vipin Mathews
永远欢迎!这就是“so”存在的意义。 - Rohit Vipin Mathews
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接