什么是右值引用,跟左值又有什么区别?

Posted pacino12134

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是右值引用,跟左值又有什么区别?相关的知识,希望对你有一定的参考价值。

目的

1、消除两个对象交互式时,不必要的拷贝,节省资源,提高效率;

2、简洁定义泛型函数;

左值和右值的概念:

左值:能取地址,或者具名对象,表达式结束后依然存在的持久对象;

右值:不能取地址,匿名对象,表达式结束后就不再存在的临时对象;

区别:

左值能寻址,右值不能;

左值能赋值,右值不能;

左值可变,右值不能(仅对基础类型适用,用户自定义类型右值引用可以通过成员函数改变);

以上是关于什么是右值引用,跟左值又有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

C++11 中的左值引用和右值引用的区别

右值引用,移动语义,完美转发

C++右值引用万能引用完美转发和引用折叠

C++右值引用万能引用完美转发和引用折叠

C++右值引用万能引用完美转发和引用折叠

c++中的左值和右值,右值引用到底是啥?关于引用这一节看得很迷糊。