c++ 左值引用,C++右值引用,浅谈C++左值引用和右值引用

c++ 左值引用,C++右值引用,浅谈C++左值引用和右值引用

本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: