繁体   English   中英

跨不同C ++程序的唯一类型标识符

[英]unique type identifiers across different C++ programs

有没有一种方法可以自动(即不手动)为共享公共源代码的不同程序中的类型分配唯一标识符? 我需要一个程序来告诉另一个“使用类型X”,另一个程序会知道“ X”的含义。 当然,它们会(部分地)共享源代码,因为您无法在运行时构造类型,我只想一种自动的方法来构造从某种标识符(整数或字符串)到例如返回给定类型对象的工厂函数的映射。

我会选择的一个明显选择是std::type_infoname()结果,但是据我所知,这甚至不能保证类型之间的差异,并且使用std::type_info实例的地址肯定不会跨程序工作。

我不能使用C ++ 11,但是可以使用Boost。

我只想要一种从某种标识符(整数或字符串)到例如返回给定类型对象的工厂函数的自动构造映射的方法。

无论如何,这不会发生,也不是在Standard C ++中。

您可以看一下Boost序列化 它会自动为策略类生成唯一的ID,并允许非策略类的显式注册。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM