本文主要介绍C的左值引用和右值引用,通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友下面和边肖一起学习。
本博客主要介绍左值和右值的概念和应用陷阱。
1、左值和右值的概念
左侧值是可以分配给赋值号左侧的值;左值在内存中必须有一个实体;
右边的值是通过取出赋值号右边的值赋给其他变量的值;正确的值可以在内存或CPU寄存器中。
当一个对象用作右值时,使用它的内容(值),当它用作左值时,使用它的地址。
2、引用
引用用C语法优化,引用的本质用指针实现。引用相当于变量的别名。
引用可以改变指针的指向和指针指向的值。
参考的基本规则:
引用声明时必须初始化,一旦绑定就不能绑定到其他对象;即引用必须初始化,不能重定义;
对引用的所有操作都等同于对原始对象的操作。
3、左值引用和右值引用
3.1 左值引用
左值引用的基本语法:类型引用名=左值表达式;
3.2 右值引用
右值引用类型引用名称=右值表达式的基本语法;
企业开发人员经常在代码优化中使用右值引用。
右侧值引用的“”中间不能有空格。
#包括iostream
使用命名空间std
int main()
{
cout '-' endl;
int a=5;
int add _ a(a);
cout ' a=' a ' ' ' a=' a endl
cout ' add _ a=' add _ a ' ' ' add _ a=' add _ a endl;
cout '-' endl;
cout '-' endl;
int b=10
int add _ b(B1);
cout ' b=' b ' ' ' b=' b endl
cout ' add _ b=' add _ b ' ' ' add _ b=' add _ b endl;
add _ b;
cout ' add _ b=' add _ b ' ' ' add _ b=' add _ b endl;
cout '-' endl;
系统(“暂停”);
返回0;
}
运行结果
其实很容易理解左边的值,尤其是代码第16行的右边的值。C之所以设计右值引用的语法,主要是因为和b 1类似;这种操作发生在CPU寄存器上,所以不能寻址也不能赋值,所以这种操作只能放在等号右边,赋给其他变量。如果:b出现在等号的右边,这个操作也是右值,因为取地址符号的操作也是在寄存器中完成的。所以不能作为左值。
以上是边肖老师对C左值引用和右值引用的详细讲解和整合。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。