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 { };

さらに 3 組の特殊化 ( constvolatileおよびconst volatileバリエーション) があり、すべて同じ方法で行われます。

2 つの省略記号演算子がグループ化されているように見えます。私が見つけた唯一の言及はcplusplus.com_ArgTypes... ...で、スペース ( ) またはコンマ ( )で書くこともできると書かれていますが、それが_ArgTypes..., ...何を意味するのかについての説明はありません。

では、この構文は何を意味するのでしょうか。このような専門分野の目的は何ですか?

4

0 に答える 0