【发布时间】:2012-07-15 06:55:11
【问题描述】:
我需要在 c++ 中构建一个异构类型的数组。 该数组是在编译时构造的,但是,它的构造分散在不同的编译单元(即不同的源文件)中。 随着应用程序的编程进展,该数组应该很容易扩展以包含新类型。 应在运行时访问结果数组。
这可能吗?
我对 boost mpl 和 boost fusion 进行了一些研究,但没有找到答案。
谢谢
【问题讨论】:
-
如果你已经在使用 Boost,为什么不
std::vector<boost::any>? -
如果不同的类型有一个共同的基类,则要将它们放入一个数组中,请对基类使用 unique_ptr。否则,将它们放在一个数组中是没有意义的。你会想要一个结构或元组。
标签: c++ metaprogramming boost-mpl