【发布时间】:2017-02-09 02:02:15
【问题描述】:
这似乎是一个愚蠢的问题,但是当我尝试在 SOF 中查看这个答案时,
我注意到这样的陈述:
template<
typename IntType, std::size_t Cols,
IntType(*Step)(IntType),IntType Start, std::size_t ...Rs
>
constexpr auto make_integer_matrix(std::index_sequence<Rs...>)
{
return std::array<std::array<IntType,Cols>,sizeof...(Rs)>
{{make_integer_array<IntType,Step,Start + (Rs * Cols),Cols>()...}};
}
更具体地说:
std::size_t ...Rs
或
std::index_sequence<Rs...>
……在这里是什么意思?
编辑 1
报告为与该问题相关的原始问题的问题不正确:
该问题无法回答这两种情况(因为它们不是具有可变数量参数的函数)
std::size_t ...Rs
std::index_sequence<Rs...>
但这是一个很好的解释:
https://xenakios.wordpress.com/2014/01/16/c11-the-three-dots-that-is-variadic-templates-part/
【问题讨论】:
-
他们指定variadic arguments,查看重复链接了解它们的使用方式。
-
@CoryKramer :谢谢,但他们没有,例如 std::size_t ...Rs 不是具有可变参数数量的函数,它是具有可变参数数量的模板在博客中解释。
-
@CoryKramer 您的“重复问题”并非完全重复,因为除了可变参数外,它还包含关于可变参数模板的问题。
标签: c++