【发布时间】:2021-10-11 22:26:36
【问题描述】:
如何使用一些智能可变参数模板“MDA”创建具有(当然)已知初始constexpr 维度的Type 类型的多维std::array。
维度的数量应该是可变的。
最后我希望能写:
MDA<int,3,4,5,6> a4d{};
结果应该等于
std::array < std::array < std::array < std::array<int, 6> , 5 > , 4 > , 3 > a4d{};
并节省大量(复杂的,甚至容易出错的)打字工作。 . .
编辑:
我不确定这是否可能。但我正在寻找的是一些“打字保护程序”,可能与 using 声明结合使用。
【问题讨论】:
-
我不禁注意到,您的每一个其他 "How to..." 问题都清楚地显示了实施的尝试,而这似乎确实是更像是一个请求,而不是关于某个具体障碍的问题。因此,我猜是投票结束。
-
嗯,由于我不是以英语为母语的人,我可能会误解您的评论。我真诚地问我的问题。我尝试了许多令人尴尬的事情,但我找不到解决方案。所以,我向社区寻求帮助。我希望在 SO 上允许这样做。如果我有不当行为,我将删除该问题。虽然我对解决方案很感兴趣。 . .显然,“如何”的问题显然不好。我不明白这其中的微妙之处,但以后会尽量避免这种情况
标签: c++ arrays templates variadic-templates