【问题标题】:Universal references with functions具有功能的通用参考
【发布时间】:2015-09-19 07:11:07
【问题描述】:

下面代码中“univ”的类型是什么?

template<typename T>
void func(T&& univ) {
    // ??
}

int sum(int a, int b) {
 return a+b;   
}

int main() {

    func(sum);

}

我不知道通用引用也适用于函数。 func(sum); 是否等同于 func(&amp;sum); 或者右值引用本身是否绑定到其他东西而不是简单的指针?

【问题讨论】:

  • 我觉得我们刚刚有这个问题...edit这里是:stackoverflow.com/q/31125447
  • 您可以使用以下技巧检查类型template&lt;typename&gt; void type_is();DEMO
  • univ 在这种情况下属于 int(&amp;)(int, int) 类型。

标签: c++ rvalue-reference rvalue


【解决方案1】:

我真的不知道如何用更多的词来表达......

类型是引用两个ints并返回和int的函数

或者,正如评论所说:int(&amp;)(int, int)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多