首页 > 其他分享 >左值引用和右值引用

左值引用和右值引用

时间:2023-11-02 13:24:43浏览次数:31  
标签:const 右值 int 左值 引用 拷贝

高级架构工程师C++进阶课程(内存泄漏、面试、开源框架、协程、STL、C++11新特性、即时通讯)_哔哩哔哩_bilibili

什么是左值

可以在等号左边,可以取地址,具名

int main(int argc, char const *argv[])
{
    int i = 0;
    ++i = 10;
    (i+=10) = 1000;
    cout<< i << endl;
    return 0;
}
View Code

什么是右值 

可以在等号右边,不可以取地址,不具名

纯右值

字面值

返回引用类型的函数调用

后置自增

算术表达式

逻辑表达式

将亡值(c++ 11新特性(移动语义))

int && 

const $t 可以转发右值但是不能够修改值,

移动构造比深拷贝更加节约资源,不需要重新申请内存空间

因为深拷贝是const修饰的不能够修改属性值

通过std::move()将左值指向右值,并且可以修改右值

实现移动语义(对象赋值时,避免资源的重新分配)需要深拷贝的资源

完美转发

用于函数模板可以将自己的参数完美的转发给内部调用

万能引用,通过引用接收左右属性的值

标签:const,右值,int,左值,引用,拷贝
From: https://www.cnblogs.com/xiaoruirui/p/17805170.html

相关文章

  • 问题描述:未能加载文件或程序集或它的某一个依赖项。找到的程序集清单定义与程序集引用
    报错原因:    版本不统一问题 解决方法:    右键打开“管理解决方案的NuGet程序包”--->将项目引用的程序包版本改统一(一般情况下用最新稳定版) ......
  • java 基本数据类型和引用数据类型
    ......
  • 查看python中import可以支持的格式引用
    importimportlib.machineryformat_list=importlib.machinery.all_suffixes()print(format_list)so是linux可以加载的文件,windows是pyc ......
  • 弱符号与强符号 vs 弱引用与强引用
    弱符号与强符号说明对于C/C++语言来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为弱符号。我们也可以通过GCC的"__attribute__((weak))"来定义任何一个强符号为弱符号。注意,强符号和弱符号都是针对定义来说的,不是针对符号的引用。比如我们有下面这段程序:......
  • Offset多维引用
    问题:为何使用Vlookup套Offset查找三个表中对应结果会出错公式:=VLOOKUP(C12,OFFSET(C4,,{0,3,6},3,2),2,)Offset,以C4为起点,向右分别偏移0、3、6,产生新单元格区域为3行两列,这一结果为多维引用,无法在同一单元格内正常显示Vlookup函数无法提取多维引用的结果多维引用解法1:=SUM......
  • thymeleaf引用JS加随机数防止缓存
    一、运行环境1、Thymeleaf2.2.22、SpringBoot2.6.4二、实际代码<scriptth:src="@{/back/js/cloud/manageAddress.js(__${#httpServletRequest.getSession().getId()}__)}"></script>说点废话。都说ChatGPT智能,至少我感觉3.5一般国内有人搭建了要收费 其实ChatGPT对写代码还是......
  • C++引用
    C++引用引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字,一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。C++引用vs指针引用很容易与指针混淆,它们之间有三个主要区别:不存在空引用,引用必须连接到一块合法的内存一旦引用被初始化为一个对象......
  • C# 项目中dll类库引用了多个版本,造成了冲突的解决办法
    备注:常见问题未能加载文件或程序集“System.Web.Http,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或它的某一个原因分析:程序所依赖的dll和实际引用的dll不相符,可以用修改配置文件web.config的方式实现兼容1234567891011121314......
  • Ts中string、number和any等类型 不能当做索引用,怎么处理?
    Ts中string、number和any等类型不能当做索引用,怎么处理?肥晨2023-05-181,049阅读1分钟 文章目录导文问题解决方法方法1方法2方法3导文Ts中string、number和any等类型不能当做索引用,怎么处理?报错:元素隐式具有“any”类型,因为类型为“number”的表......
  • 引用C++程序,在DOS命令行打印彩色玫瑰花
    python代码:fromctypesimport*importpygameimportrandomimportstringimporttimeif__name__=='__main__':withopen('log.txt','rb')asf:lines=f.readlines()count=0forlineinlines:......