有没有办法自动(即不是手动)为共享公共源代码的不同程序中的类型分配唯一标识符?我需要一个程序来告诉另一个“使用类型 X”,而另一个程序会知道“X”是什么意思。当然,他们会(部分)共享源代码,因为你不能在运行时构造类型,我只想要一种自动的方式来构造从某种标识符(整数或字符串)到例如返回给定类型对象的工厂函数的映射.
我会选择的一个明显的选择是name()
in的结果std::type_info
,但据我所知,这甚至不能保证在不同类型之间是不同的,并且使用std::type_info
实例地址肯定不会跨程序工作。
我不能使用 C++11,但可以为此使用 Boost。