我在std::vector::push_back()的实现中发现了这个:
void push_back(_Ty&& _Val)
{
// some code here
}
下面是 std::map operator[] 的实现:
mapped_type& operator[](key_type&& _Keyval)
{
// some code here
}
为什么 _Val 和 _Keyval 是通过引用传递的?引用传递的参数如何工作?与引用传递相比,这种方法有什么优点?
P.S. 这不是逻辑上的“AND”,我清楚这一点。