C++ 以&&;在std::vector push_back()和std::map运算符[]中

C++ 以&&;在std::vector push_back()和std::map运算符[]中,c++,vector,map,stl,reference,C++,Vector,Map,Stl,Reference,我在std::vector::push_back()实现中发现了这一点: void push_back(_Ty&& _Val) { // some code here } mapped_type& operator[](key_type&& _Keyval) { // some code here } 在std::map操作符[]实现中: void push_back(_Ty&& _Val) {

我在std::vector::push_back()实现中发现了这一点:

void push_back(_Ty&& _Val)
{
    // some code here       
}
mapped_type& operator[](key_type&& _Keyval)
{
    // some code here   
}
在std::map操作符[]实现中:

void push_back(_Ty&& _Val)
{
    // some code here       
}
mapped_type& operator[](key_type&& _Keyval)
{
    // some code here   
}
为什么_Val和_Keyval是一个接一个的引用?一个接一个地引用论点是如何起作用的?与参照法相比,这种方法有什么好处


另外,这不是逻辑上的“和”,我很清楚这一点。

这是一个C++11特性-右值引用。。。这里还有一些

阅读手册:@us2012回答不错,谢谢。我认为这个参考可能是存在的权利,尽管它是重复的。