C++11新特性中的右值引用与完美转发如何实现高效的数据传递与优化?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2676个文字,预计阅读时间需要11分钟。
目录
一、左右值与右值引用
二、左值引用与右值引用的应用
三、右值引用的应用场景
1.移动构造与移动赋值
1.1 模拟实现的string
2.移动构造
3.移动赋值
四、默认移动构造和移动赋值重载函数
五、完美转换
目录
- 一、左值与右值
- 二、左值引用与右值引用
- 三、右值引用应用
- 1.移动构造与移动赋值
- 1.模拟实现的string
- 2.移动构造
- 3.移动赋值
- 四、默认移动构造和移动赋值重载函数
- 五、完美转发
- 1.万能引用
- 2.完美转发
一、左值与右值
顾名思义,左值就是只能放在等号左边的值,右值是只能放在等号右边的值。
在C++Prime一书中,对左值和右值的划分为,左值是一个表示数据的表达式,右值是一个即将销毁的值(通常称为将亡值)。比如我们定义的一个变量就是一个左值,而字面常量,表达式返回值,传值返回函数的返回值就是右值。
本文共计2676个文字,预计阅读时间需要11分钟。
目录
一、左右值与右值引用
二、左值引用与右值引用的应用
三、右值引用的应用场景
1.移动构造与移动赋值
1.1 模拟实现的string
2.移动构造
3.移动赋值
四、默认移动构造和移动赋值重载函数
五、完美转换
目录
- 一、左值与右值
- 二、左值引用与右值引用
- 三、右值引用应用
- 1.移动构造与移动赋值
- 1.模拟实现的string
- 2.移动构造
- 3.移动赋值
- 四、默认移动构造和移动赋值重载函数
- 五、完美转发
- 1.万能引用
- 2.完美转发
一、左值与右值
顾名思义,左值就是只能放在等号左边的值,右值是只能放在等号右边的值。
在C++Prime一书中,对左值和右值的划分为,左值是一个表示数据的表达式,右值是一个即将销毁的值(通常称为将亡值)。比如我们定义的一个变量就是一个左值,而字面常量,表达式返回值,传值返回函数的返回值就是右值。

