左值引用&右值引用
都起别名
可取地址是左值,反之右值
左值:
表示数据的表达式
可获取地址
一般可赋值(const不可)
等号左右都可以
右值:
如(临时对象,常量,匿名对象)
表示数据的表达式
不能取地址
只能等号右面
左值右值举例:
引用类型的写法&左右引用的转化
右值引用要 类型&&
左右值混用
(const左值)可用来接收右值
右值可用来接收move(左值)
move 接收左值,返回右值
万能引用T&& and forward完美转发
T&& 为万能引用,不是右值引用
右值被接收后会变为左值
forward 完美转发 可保持其原来类型
引用的意义
右值引用的意义
引用的意义:减少拷贝
左值传参没能完全解决传返回值
移动构造
参数类型为右值引用
纯右值:内置类型右值
将亡值:匿名对象
将本身和参数右值swap
移动构造意义
移动拷贝比复制拷贝少了个拷贝构造