比如这样一段代码
class A{
};
// 定义两个函数
void test(A&){
}
template<typename T>
void test(T&&){
}
// main
A a;
// 想问问这里为什么调用的是test(T&&)而不是test(A&)?
test(std::ref(a));
有知道的能解释一下么?感谢~
比如这样一段代码
class A{
};
// 定义两个函数
void test(A&){
}
template<typename T>
void test(T&&){
}
// main
A a;
// 想问问这里为什么调用的是test(T&&)而不是test(A&)?
test(std::ref(a));
有知道的能解释一下么?感谢~
https://www.cnblogs.com/yunlambert/p/10952189.html 看一下这个文章你就明白了