我想序列化大量数据,以便在运行和启动期间能够保存和加载(我不需要任何版本系统,或者在所有平台上都兼容)。所以这些工作的表现对我来说至关重要。经过一些搜索,我明白我必须使用boost-serialize之类的东西,它不需要任何预编译工作。在测量了我的代码的性能之后,我得到了程序的大部分内容,用于strcmp
函数的序列化花费,用于类型识别。
我发现我们可以使用boost实现我们的类型识别,如here所示。但我有两个问题:
get_key
的{{1}}函数,所以似乎所有类型标识都必须基于const char*
,因此字符串比较仍然存在似乎不太有希望。const char*
索引来在运行时识别它们,有没有标准的方法来执行此操作?请注意,在程序的所有运行中,分配给每个类的id必须相同。