【发布时间】:2018-01-16 16:45:13
【问题描述】:
我正在编写一个库,它具有以无符号整数为模板的编译时多态对象,
template<unsigned level> class Foo { ... };
,即 Foo、Foo、Foo 等,直到每个应用程序确定的特定数量。假设我们的应用程序指定需要数字 0、1、...、n。
我需要能够构造一个指向这些对象的指针向量元组:std::tuple<std::vector<Foo<n> *>, std::vector<Foo<n-1> *>, ..., vector<Foo<0> *>> 通过调用可变参数模板函数,示意性地:
template <unsigned n>
std::tuple<unsigned n, unsigned... Args> create_vector_tuple<n>()
或类似的东西。
我的直觉告诉我,这应该是可以实现的,尽管我在这里的深度不够。
如果有人能指出实现这一点的方法,我将不胜感激!
【问题讨论】:
-
我自己从来没有需要它,但也许你想使用std::integer_sequence?
标签: c++ c++14 variadic-templates template-meta-programming