C ++ Boost.serialization与简单加载/保存

时间:2012-03-26 10:16:53

标签: c++ serialization boost

我是处理大量模拟数据的计算科学家,我经常发现自己在磁盘中保存/加载数据。对于简单的任务,比如矢量,这通常就像将一堆数字转储到文件中一样简单,就是这样。

对于更复杂的东西,生命对象等,我有保存/加载成员函数。现在,我不是计算机科学家,因此我经常在这里看到术语,我只是不明白(但我喜欢)。我最近遇到的其中一个是序列化Boost.Serialization库的主题。

据我所知,序列化只是将对象转换为可以从dist保存/加载或通过网络等传输的过程。考虑到最多我需要将对象保存/加载到磁盘中,是否有任何理由我应该从简单的加载/保存功能切换到Boost.SerializationBoost.Serialization除了我已经在做什么之外还会给我什么呢?

1 个答案:

答案 0 :(得分:10)

该图书馆考虑了许多细节,这些细节从纯粹的“应用”观点来看可能不是很明显。

例如,数据可移植性WRT大/小数字字节序,指向数据生命周期,结构化容器,版本控制,非侵入式扩展和more。此外,它处理与其他 std boost 基础架构交互的正确方式,并规定了一种代码结构的方式,可以通过更轻松的代码维护来奖励您。您会发现许多(所有std& boost?)容器都可以使用序列化器。

考虑是否需要与其他人共享您的数据,有可能提及已发布,已保留和已调试的架构会使事情变得更容易。