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

标签 c++ template-meta-programming

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

一个明显的选择是 std::type_infoname() 的结果,但据我所知,这甚至不能保证是不同的跨类型,并且使用 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/

相关文章:

c++ - 如何获取最里面的模板参数类型?

c++ - 如何在编译时订购类型?

c++ - 检查类是否具有带有特定模板的operator()的方法

c++ - 声明模板时是否需要typename/class

c# - 如何从 .Net 应用程序访问 CISCO Tapi

c++ - 这些 C++ 代码是否针对添加 2 个正大整数进行了优化?

c++ - 我可以通过链接静态库来构建共享库吗?

c++ - 如何从 msi 安装中检索详细结果

带有 C++ 库的 Java JNI "symbol lookup error"

c++ -::operator 在这种情况下做什么