C++引用

2023-10-27

引用是一个 共享其它变量内存 的变量。我们称这种操作是“引用一个变量”或“给变量取别名”。
引用
之前说过,变量名称关联变量内存。在变量名前加&符,就可以得到内存地址;而变量名,则“体现”了内存中的数据。而给变量取别名,实际上是把图中的“别名”和内存地址相关联。所以,你看到的效果就是,给“别名”赋值为1,“变量名”的值也变为1了。

//代码说明:
int 变量名 = 0;		//定义一个int类型变量。
int& 别名 = 变量名;	//定义一个int&类型变量。“别名”是变量名,和“变量名”的内存中相关联。
别名 = 2;		//此时“别名”同“变量名”关联着同一块地址,所以两者的值都为2。

引用和指针还是有点关系
指针是一个存放内存地址的变量,可以间接操作其它变量;引用是一个共享其它变量内存的变量,是直接操作其它变量。

引用相比普通变量,特殊的地方:
1、没有自己的内存,只能共享其它变量的内存。
2、声明的同时,必须定义,也就是必须赋初值。
3、赋初值过后,别名就和其它变量共享内存了。之后操作别名,就同操作变量名没区别。

//代码说明:
Int 王开国 = 1;	        //
Int& 王二狗 = 王开国;	//王开国 = 1;王二狗 = 1;
王二狗 = 3;		//王开国 = 3; 王二狗 = 3;
 
Int 王大锤 = 2;
王二狗 = 王大锤;         //王开国 = 2; 王二狗 = 2; 王大锤 = 2;
王大锤 = 4;		//王开国 = 2; 王二狗 = 2; 王大锤 = 4;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++引用 的相关文章

随机推荐

  • java中金额计算

    撒欢的老猫 java中金额计算 在牵涉到金额的计算时 为了保持高精度的准确性 使用bigDecimal类型 在使用BigDecimal类来进行计算的时候 主要分为以下步骤 1 用float或者double变量构建BigDecimal对象 2
  • 关于路由传参与接收参数

    路由 跳转传参的方式有很多 下面我总结一下常用的传参方式及其相对应的接收参数方式 第一 参数是以 分隔 http localhost 8092 account manage issue id 161123434754052096 路由跳转方
  • 文本生成视频Make-A-Video,根据一句话就能一键生成视频 Meta新AI模型

    Meta公司 原Facebook 在今年9月29日首次推出一款人工智能系统模型 Make A Video 可以从给定的文字提示生成短视频 Make A Video研究基于文本到图像生成技术的最新进展 该技术旨在实现文本到视频的生成 可以仅用
  • 有序序列的二分查找

    二分算法思想 1 定义下标min指向第一个元素 定义max指向最后一个元素 2 定义下标mid等于 min max 2 3 判断arr mid 是否等于要查找的数 若等于返回mid值 若不等于 如果小于 则min mid 1 如果大于 则m
  • SSH远程访问控制

    目录 一 SSH概述 1 1什么是SSH 1 2SSH的作用 1 3SSH的主程序以及配置文件 二 SSH远程登录方式 2 1ssh 远程主机用户名 远程服务器主机名或IP地址 p port 2 2ssh l 远程主机用户名 远程服务器主机
  • Uboot初次编译、烧写、启动(启动界面log简析)

    目录 U Boot 初次编译 U Boot 烧写与启动 上述笔记第三点就是建立shell脚本实现的 第四点就是修改Makefile文件实现的 下面均有实现步骤讲解 U Boot 初次编译 先编译体验一下正点原子提供的UBOOT 首先在Ubu
  • 刷题之01 矩阵

    给定一个由 0 和 1 组成的矩阵 mat 请输出一个大小相同的矩阵 其中每一个格子是 mat 中对应位置元素到最近的 0 的距离 两个相邻元素间的距离为 1 示例 1 输入 mat 0 0 0 0 1 0 0 0 0 输出 0 0 0 0
  • 阅读文献1:Bootstrapping ViTs: Towards Liberating Vision Transformers from Pre-training(文章翻译及自身的理解和总结)

    目录 前言 一 文章标题 二 摘要 我在这里直接翻译过来 三 Introduction 这里也没有什么好解释哒 我也直接翻译过来 四 Related Work 1 Vision Transformers 2 Knowledge Distil
  • http之GET请求的传递参数的方式

    第一种 直接在URL后面加参数 localhost 21811 Handler1 ashx id 1 name abc 如下图 第二种 用超链接的方法传递参数 当点击超链接的时候 首先会跳转 localhost 21811 Handler1
  • B/S架构及其运行原理 #CSDN博文精选# #IT技术# #软件模式# #架构模式#

    大家好 小C将继续与你们见面 带来精选的CSDN博文 又到周一啦 上周的系统化学习专栏已经结束 我们总共一起学习了20篇文章 这周将开启全新专栏 放假不停学 全栈工程师养成记 在这里 你将收获 将系统化学习理论运用于实践 系统学习IT技术
  • vue导出自定义的excel表格

    1 Vue导出excel 1 1 安装依赖 npm install S file saver npm install S xlsx npm install D script loader 1 2 配置 在项目src文件夹下新建文件夹vend
  • git bash 操作 从github上pull代码再从客户端push上去

    如何将github上的代码拖到本地 1 cd切换目录到对应的仓库 2 git init来初始化这个仓库 3 用ssh keygen t rsa c 邮箱 来设置ssh 然后拷贝到对应的github上设置密钥 4 ls 可以把目录下的文件列出
  • 图文详解丨iOS App上架全流程及审核避坑指南

    目录 目录 引言 一 登录开发者账号注册账号 二 申请证书 描述文件 证书管理 描述文件管理 三 代码实现 四 总结 引言 到了2021年 虽然网上也有大牛写过很多IOS App上架流程资料 但随着苹果发布机制的微调有些 已经过时了 我就趁
  • 【半监督学习】1、Mean Teacher

    文章目录 一 背景 二 方法 三 效果 论文 Mean teachers are better role models Weight averaged consistency targets improvesemi supervised d
  • [ROS学习之路]Ubuntu16.04下使用QT4 + ROS

    1 环境声明 Ubuntu 16 04 ROS kenitic Levi Armstrong大佬已经开发了对应的qt插件 ros qtc plugin使我们能在qt creator上编译ROS程序 这个插件以前使用ppa的方式进行安装 现在
  • java处理图片失真的问题-水印-裁剪-压缩

    问题描述 某些图片 的背景色是透明 但是java 处理后 可能变黑色 其实问题原因就是失真啦 解决办法 BufferedImage image new BufferedImage width height BufferedImage TYP
  • 浅谈VMware Workstation Pro 使用Linux系统(超详细教程)

    Vmware Workstation Pro 使用Linux系统 分割线 目录 VMware Workstation Pro安装 Linux系统镜像下载安装并在VMware Workstation Pro中使用 安装CentOS 查看ip地
  • 可重入锁和不可重入锁的的区别及原理

    锁 把所需要的代码块 资源 或数据锁上 在操作他们的时候只允许一个线程去做操作 不可重入锁 当A方法获取lock锁去锁住一段需要做原子性操作的B方法时 如果这段B方法又需要锁去做原子性操作 那么A方法就必定要与B方法出现死锁 这种会出现问题
  • C语言--用队列实现栈

    用队列实现栈 把数据从队头出来 再插入到队尾 最后一个不插入 直接出栈就实现了出栈操作 取栈顶元素就是获取队尾元素 其余操作入栈 判空 销毁类似于队列操作 可以用一个队列实现栈 也可以用俩队列 我用的一个队列 typedef int typ
  • C++引用

    引用是一个 共享其它变量内存 的变量 我们称这种操作是 引用一个变量 或 给变量取别名 之前说过 变量名称关联变量内存 在变量名前加 符 就可以得到内存地址 而变量名 则 体现 了内存中的数据 而给变量取别名 实际上是把图中的 别名 和内存