【问题标题】:What does <argument> mean put next to the template class name [duplicate]<argument> 是什么意思放在模板类名旁边[重复]
【发布时间】:2021-04-26 02:20:20
【问题描述】:

在头文件“std_function.h”中有这个模板类,我知道它是做什么的,但我对&lt;_Res(_ArgsTypes...)&gt;很好奇。我从没见过这样的东西

template<typename _Signature>
class function

template<typename _Res, typename... _ArgTypes>
    class function<_Res(_ArgTypes...)>
    : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
      private _Function_base {
           //...body of class
};

谁能给我解释一下?

【问题讨论】:

    标签: c++ templates c++17 metaprogramming


    【解决方案1】:

    _Res(_ArgTypes...) 是将_ArgTypes... 作为参数并返回_Res 类型的函数的类型

    【讨论】:

    • 好的我明白了,但这只是一个例子,我该怎么做才能把参数放在类名后面
    • 我不确定你在问什么。
    • 一个普通的模板类声明如下例template&lt;class T, class ...Args&gt; class myClass;,而不是函数有一些参数跟随类名,如下例template&lt;class T, class ...Args&gt; class myClass&lt;T(Args...)&gt;;,我希望让自己清楚
    猜你喜欢
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 2022-07-21
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多