【发布时间】: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(&sum); 或者右值引用本身是否绑定到其他东西而不是简单的指针?
【问题讨论】:
-
我觉得我们刚刚有这个问题...edit这里是:stackoverflow.com/q/31125447
-
您可以使用以下技巧检查类型
template<typename> void type_is();DEMO -
univ在这种情况下属于int(&)(int, int)类型。
标签: c++ rvalue-reference rvalue