原因很简单,使用常量左值引用时不能修改参数,而使用右值引用时可以修改。 可以总结如下: 综上,对于不同情况,应该使用不同的参数描述。这样做使得程序在满足功能需求的同时达到效率最大化。
f(b);// f2 的形参类型 A&& 虽然是右值引用,// 但是在函数内部,形参作为左值使用~~~f2(A())...
右值引用(Rvalue Reference)是对一个临时对象或将要销毁的对象的引用,它只能绑定到右值。右值引用的主要目的是为了实现移动语义和完美转发。 左值引用和右值引用在工作方式上有一些不同之处: 绑定规则:左值引用可以绑定到左值,而右值引用只能绑定到右值。 生命周期:左值引用可以延长对象的生命周期,而右值引用通常用于临...
右值引用不带常量,一般还要加上noexcept,主要是与左值交换数据(复杂度o1)左值引用用途比较广泛,它本...