boost :: Serialize VS std :: fstream

Gri*_*fin 2 c++ serialization boost fstream save

嘿所以我想我对boost :: serialize的目的有点困惑:

说完就一个boost ::序列化功能添加到每个计划保存类似乎有种打败库的用途,如,而不是提高 /降低开发时间好像因为你有这将增加的时间量巨大进入并编辑您使用的每个库中每个类的源,因此它具有序列化功能.

我打算将它用于SFML/Box2D游戏,但是现在我有了第二个想法,一旦我想到这一点...... 我在使用图书馆错了吗?

这似乎是的std :: fstream的将是一个更好的主意,因为这不需要任何功能或更改您要保存的任何类来进行,我可以设计一个" 保存类."

Cat*_*lus 6

呃,什么?Boost.Serialization不是I/O流的替代品.它是序列化的框架(即从外部存储保存和恢复对象的状态),归档仍然包含某种流以实际读取和写入数据.当然你需要编写序列化函数,库无法知道数据的位置,或者它应该如何在存档中布局 - 如果你使用fstream,无论在这种情况下的意思是什么,你仍然有做同样的事.您不一定需要将保存/加载函数实现为类成员 - 文档说明如何将它们作为自由函数.