【发布时间】:2015-10-08 11:57:30
【问题描述】:
我有一个类 TensorMap(eigen3 库),它采用(此处简化)数字列表:
class TensorMap{
public:
template<typename... T>
TensorMap(T&...i){}
} ;
和一个使用这种类型的结构A
struct A{
template<unsigned int N>
A( NumberList<N> & idx ): m( /* idx(0),idx(1), ...., idx(N-1) */ ) ) {}
TensorMap m;
};
如何将数字列表NumberList<N> & idx 注入可变参数构造函数。 idx的号码访问由operator()(int i)完成。
这可以通过一些漂亮的模板递归实现吗?
到目前为止我还没有想出注入这个的方法,嗯...
当然可以在A 中使用一些std::unique_ptr 并制作一个模板递归包装器来生成new TensorMap,但这不是我想要的。
【问题讨论】:
-
是
NumberListoperator() 常量表达式,还是在运行时求值? -
在运行时评估
标签: c++ c++11 c++14 variadic-templates