C ++可变参数类型实例化

问题描述 投票:-2回答:1

一段时间以来,我一直在寻找解决方案,但未能找到令人满意的解决方案:

假设我有一个可变参数类型:

template<typename... layers_t>
class Layer_Aggregate
{

};

而且我也有上述别名:

using stack_t = Layer_Aggregate<
    Matrix<3,3>,
    Matrix<3,3>
>;
  1. 我将如何正确实例化layers_t类型的对象?我不确定代表和实例化Matrix <3,3>的最佳方法是什么。是否有解决此问题的设计模式?我可以轻松地实例化stack_t,但是它永远不会包含任何Matrix <3,3>数据,因为我的类不包含数据成员。
  2. 我的最终目标是利用模板表达式,并允许进行诸如将所有矩阵乘以一行的操作。我不确定这是否会改变上述问题的答案。我正在使用的库在分配时评估表达式。
c++ templates variadic-templates
1个回答
0
投票
有几种方法可以定义折叠到一堆对象上的可变参数函数:

直接使用折叠表达式

© www.soinside.com 2019 - 2024. All rights reserved.