关于std::ref的一个疑问

比如这样一段代码

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 看一下这个文章你就明白了