[英]unique type identifiers across different C++ programs
有没有一种方法可以自动(即不手动)为共享公共源代码的不同程序中的类型分配唯一标识符? 我需要一个程序来告诉另一个“使用类型X”,另一个程序会知道“ X”的含义。 当然,它们会(部分地)共享源代码,因为您无法在运行时构造类型,我只想一种自动的方法来构造从某种标识符(整数或字符串)到例如返回给定类型对象的工厂函数的映射。
我会选择的一个明显选择是std::type_info
中name()
结果,但是据我所知,这甚至不能保证类型之间的差异,并且使用std::type_info
实例的地址肯定不会跨程序工作。
我不能使用C ++ 11,但是可以使用Boost。
我只想要一种从某种标识符(整数或字符串)到例如返回给定类型对象的工厂函数的自动构造映射的方法。
无论如何,这不会发生,也不是在Standard C ++中。
您可以看一下Boost序列化 。 它会自动为策略类生成唯一的ID,并允许非策略类的显式注册。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.