6

可能重复:
“……”令牌的含义是什么?

在查看 libc++ 的 header<type_traits>时,我偶然发现了这些类模板特化:

template<typename>
    struct is_function
    : public false_type { };

template<typename _Res, typename... _ArgTypes>
    struct is_function<_Res(_ArgTypes...)>
    : public true_type { };

template<typename _Res, typename... _ArgTypes>
    struct is_function<_Res(_ArgTypes......)>    // <-- Huh?
    : public true_type { };

还有三对专业化(constvolatileconst volatile体),都采用相同的方式。

看起来像两个省略号运算符组合在一起。我能找到的唯一提及是在cplusplus.com上,它说它也可以用空格 ( _ArgTypes... ...) 或逗号 ( _ArgTypes..., ...) 编写,但没有解释它的含义。

那么,这个语法是什么意思呢?这种专业化的目的是什么?

4

0 回答 0