有没有办法自动(即不是手动)为共享公共(public)源代码的不同程序中的类型分配唯一标识符?我需要一个程序告诉另一个程序“使用 X 类型”,而另一个程序会知道“X”的含义。当然,他们会(部分)共享源代码,因为你不能在运行时构造类型,我只想要一种自动的方式来构造从某种标识符(整数或字符串)到例如工厂函数返回给定类型的对象。
一个明显的选择是 std::type_info
中 name()
的结果,但据我所知,这甚至不能保证是不同的跨类型,并且使用 std::type_info
实例的地址肯定不会跨程序工作。
我不能使用 C++11,但可以为此使用 Boost。
最佳答案
I just want an automatic way of constructing a map from some sort of identifiers (integers or strings) to e.g. factory functions returning objects of given type.
无论如何都不会发生,不会在标准 C++ 中发生。
关于c++ - 跨不同 C++ 程序的唯一类型标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8463735/