关于c ++:在std :: vector push_back()和std :: map operator []中通过&&获取参数

Taking the argument by && in std::vector push_back() and std::map operator[]

本问题已经有最佳答案,请猛点这里访问。

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

1
2
3
4
void push_back(_Ty&& _Val)
{
    // some code here      
}

在std::map operator[]实现中:

1
2
3
4
mapped_type& operator[](key_type&& _Keyval)
{
    // some code here  
}

为什么"val"和"keyval"被引用引用?引用引用的论点是如何工作的?与参照法相比,这种方法有什么好处?

另外,这不是合乎逻辑的"和",我明白这一点。


这是一个C++ 11的特性-rValk引用…以下是更多信息