【发布时间】:2021-10-11 06:11:58
【问题描述】:
给定一个向量:
template<int... elements>
struct vec;
如何创建一个可以将所有提供的向量逐个元素相乘的元函数。例如
template<typename ...AllVecs>
struct multiVecs
{
using type = ....
}
其中 type 将逐个元素地执行所有产品。例如给定三个 vecs:
multiVecs< vec<0,1,2>, vec<1,2,3>, vec<2,3,4> >
我应该得到一个vec<0*1*2, 1*2*3, 2*3*4>
【问题讨论】:
-
如果
vecs 之一有不同数量的参数怎么办?例如:multiVecs<vec<0,1,2>, vec<1,2,3, 4>>?
标签: c++ c++14 metaprogramming template-meta-programming