我观看了Bjarne Strustrup在Going Native 2013中的演讲,他给出了以下关于C++即将出现的概念特色的例子.
void sort(Container& c); // terse notation
// Expands to
template <Container __Cont>
void sort(__Cont& c); // shorthand notation
// Expands to
template <typename __Cont>
requires Container<__Cont>()
void sort(__Cont & c);
Run Code Online (Sandbox Code Playgroud)
我的问题是如何使用可变参数模板?
假设我想maximum使用Comparable概念定义可变参数函数.是否接受以下语法?
auto maximum(Comparable a)
{
return a;
}
auto maximum(Comparable c, Comparable... rest)
{
return std::max(a, maximum(rest...));
}
Run Code Online (Sandbox Code Playgroud)
如果是这样Comparable...意味着参数包中的所有元素都是相同的类型,或者只是它们都是Comparable类型,以便包可以包含int和string?(两者相当,但彼此不相同)
好奇的人想知道.