右值引用如何使用?总结右值引用实例用法
程序员文章站
2024-01-08 20:02:04
...
1. 左值与右值: C++对于左值和右值没有标准定义,但是有一个被广泛认同的说法:可以取地址的,有名字的,非临时的就是左值;不能取地址的,没有名字的,临时的就是右值. 可见立即数,函数返回的值等都是右值;而非匿名对象(包括变量),函数返回的引用,const对象等都是左值. 从本质上理解,创建和销毁由编译器幕后控制的,程序员只能确保在本行代码有效的,就是右值(包括立即数);而用户创建的,通过作用域规则可知其生存期的,就是左值(包括函数返回的局部变量的引用以及const对象),例如:int& foo(){int tmp; return tmp;}
int fooo(){int tmp; ret
简介:对于c++11来说移动语义是一个重要的概念,一直以来我对这个概念都似懂非懂。最近翻翻资料感觉突然开窍,因此顺便记录下C++11中的右值引用、转移语义和完美转发,方便大家查阅参考
【相关问答推荐】:
c++ - 为什么std::move( )的返回值可以赋值给右值引用
重载操作符 - c++中操作符重载需要写多种重复版本(引用与右值引用),有无方法可以简化
c++ - “clobber the lvalue”什么意思?
以上就是右值引用如何使用?总结右值引用实例用法的详细内容,更多请关注其它相关文章!