假设我有boost::mpl::list< A, B, C ...>
。
如何在运行时给出索引值时访问其中一种?它甚至可能吗?
答案 0 :(得分:2)
http://www.boost.org/doc/libs/release/libs/mpl/doc/refmanual/for-each.html
你基本上必须迭代整个列表并引入某种条件: 例如:
struct F {
void operator(T &t) {
if (i_ == index) ...
++i;
}
int index = ...;
int i_ = 0;
};
for_each< L >( F(index) );