C语言赋值函数、移动赋值函数、移动构造函数详解,三者有何异同?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1707个文字,预计阅读时间需要7分钟。
目录+左值引用和右值引用+左值与右值+左右值的切换+左值引用:将左值绑定在引用上+常量左值引用和非常量左值引用+右值引用:将右值绑定在引用上+常量右值引用和非常量右值引用
目录
- 左值引用和右值引用
- 左值与右值
- 左右值的切换
- 左值引用:将左值绑定在引用上
- 常量左值引用和非常量左值引用
- 右值引用:将右值绑定在引用上
- 常量右值引用和非常量右值引用
- 移动构造函数
- 赋值和移动赋值函数
左值引用和右值引用
左值与右值
左值:在内存中占有确定位置的对象,即左值占有内存。换句话来说,就是有地址,有值。
右值:不占内存(科学地讲是临时寄存器),仅有值,为临时变量。
左右值的切换
右值->左值:用*符号。
int a=10; int* b=&a;// b为右值。 *b=20;// b为右值,*b为左值。
本文共计1707个文字,预计阅读时间需要7分钟。
目录+左值引用和右值引用+左值与右值+左右值的切换+左值引用:将左值绑定在引用上+常量左值引用和非常量左值引用+右值引用:将右值绑定在引用上+常量右值引用和非常量右值引用
目录
- 左值引用和右值引用
- 左值与右值
- 左右值的切换
- 左值引用:将左值绑定在引用上
- 常量左值引用和非常量左值引用
- 右值引用:将右值绑定在引用上
- 常量右值引用和非常量右值引用
- 移动构造函数
- 赋值和移动赋值函数
左值引用和右值引用
左值与右值
左值:在内存中占有确定位置的对象,即左值占有内存。换句话来说,就是有地址,有值。
右值:不占内存(科学地讲是临时寄存器),仅有值,为临时变量。
左右值的切换
右值->左值:用*符号。
int a=10; int* b=&a;// b为右值。 *b=20;// b为右值,*b为左值。

