这篇文章主要讲解了“C++中如何实现左值引用和右值引用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中如何实现左值引用和右值引用”吧!1、左值和右值的概念左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体;
右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。
一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。2、引用引用是C++语法做的优化,引用的本质还是靠指针来实现的。引用相当于变量的别名。引用可以改变指针的指向,还可以改变指针所指向的值。
引用的基本规则:声明引用的时候必须初始化,且一旦绑定,不可把引用绑定到其他对象;即引用必须初始化,不能对引用重定义;
对引用的一切操作,就相当于对原对象的操作。3、左值引用和右值引用3.1 左值引用左值引用的基本语法:type &引用名 = 左值表达式;3.2 右值引用右值引用的基本语法type免费云主机域名 &&引用名 = 右值表达式;右值引用在企业开发人员在代码优化方面会经常用到。右值引用的“&&”中间不可以有空格。
运行结果其实对于左值还是很好理解的,主要是对于右值是不好理解的,特别是代码的16行处:右值的例子。C++之所以设计出右值引用的语法,主要是因为对于类似b+1;这样的运算是发生在CPU寄存器上的,就不能对其取地址、赋值等操作,所以这类运算只能放在等号的右边,将其赋给其他的变量。若等号右边出现:&b,这样的操作是,也是右值,因为取地址符的操作也是在寄存器中完成的。所以不能作为左值。
感谢各位的阅读,以上就是“C++中如何实现左值引用和右值引用”的内容了,经过本文的学习后,相信大家对C++中如何实现左值引用和右值引用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!
这篇文章主要讲解了“怎么使用免费云主机域名vue打包gzip压缩”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用vue打包gzip压缩”吧!开局一张图:可以看出,在项目部署后,我们的资源文件请求都会保持原…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。