当前位置: 首页 > news >正文

引用是否有地址的讨论的

说在前头,纯属个人理解,关于引用是否有地址,实际上并没有一个很统一的说法, C++标准没有规定一个引用是否需要占用一块内存。

这里引用知乎“C++ 中引用是一块内存的标记,那引用本身有地址吗_百度知道 (baidu.com)”里面的回答: 

正文:

现在,开始自己的理解(开始自己的胡说八道)!!!再次强调,纯属个人理解!!!!欢迎讨论和指正。另外,我们现在统一按照c++里面的概念来讲!!!

一:结论:我认为引用是没有地址的,否则,引用和指针有什么区别!!!

论证:假设有一个变量a = 1,那么a是一个对象,a自己的地址是x0001,这个地址存放的是1。在此情况下,如果b是一个指针变量,b指向a,那么,这里的意思是b本身也是有地址的,设b的地址为x0016,b这个地址里面存放的是a的地址x0001。

若c为a的引用,如果c本身有地址,那么c指向a,也即c存放的也是a的地址,则c和b没有区别,所以不成立,因此,引用没有地址!!!

现在问题来了,如果引用没有地址,那么cpu到底是怎么访问到引用c的呢?

二:重磅:按照c++的概念,我们说a = 1是一个对象,意思是说a本身是一块内存空间,它的地址是x0001,x0001这块地址里面存放了1。所以说真实的对象其实是存放了1的x0001这个内存空间,a其实也只是一个名称,但是,我们现在把a和x0001绑定到一起了!!!!!!!,相当于一个人他身份证上的名字之间的关系(假设没有重名哈),也就是说,每当我们说a的时候其实说的就是x0001,说x0001也相当于说a。

三:那么引用是什么呢?按照上面的思路,实际上x0001这个内存空间可以叫任何名字,我现在假定给x0001取了一个别名q,q就是一个引用!!引用相当于外号

如果这还是不明白,那么再换个说法,假设一个人,他身份证上面的名字叫做“小明”,这个时候,a就是小明,现在我给这个“小明”取了一个外号“狗子”,那么狗子就是引用q。

补充一点,在此情况下,对引用q取地址,实际上就是对对象a取地址。所以你说引用有地址也对,说他没地址也对

相关文章:

引用是否有地址的讨论的

说在前头,纯属个人理解,关于引用是否有地址,实际上并没有一个很统一的说法, C标准没有规定一个引用是否需要占用一块内存。 这里引用知乎“C 中引用是一块内存的标记,那引用本身有地址吗_百度知道 (baidu.com)”里面的…...

1、JAVA 开发环境搭建 - JDK 的安装配置

文章目录一、下载 JDK81、官网地址:[**https://www.oracle.com**](https://www.oracle.com)二、安装 JDK1、鼠标右键安装包,以管理员身份运行(无脑下一步即可)2、细节说明三、配置环境变量1、为啥要配置环境变量呢?2、原因分析3、配置环境变量…...

【Storm】【六】Storm 集成 Redis 详解

Storm 集成 Redis 详解 一、简介二、集成案例三、storm-redis 实现原理四、自定义RedisBolt实现词频统计一、简介 Storm-Redis 提供了 Storm 与 Redis 的集成支持&#xff0c;你只需要引入对应的依赖即可使用&#xff1a; <dependency><groupId>org.apache.storm…...

算法代码题——模板

文章目录1. 双指针: 只有一个输入, 从两端开始遍历2. 双指针: 有两个输入, 两个都需要遍历完3. 滑动窗口4. 构建前缀和5. 高效的字符串构建6. 链表: 快慢指针7. 反转链表8. 找到符合确切条件的子数组数9. 单调递增栈10. 二叉树: DFS (递归)]11. 二叉树: DFS (迭代)12. 二叉树: …...

CentOS 7.9汇编语言版Hello World

先下载、编译nasm汇编器。NASM汇编器官网如下图所示&#xff1a; 可以点图中的List进入历史版本下载网址&#xff1a; 我这里下载的是nasm-2.15.05.tar.bz2 在CentOS 7中&#xff0c;使用 wget http://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2下载…...

CoreData数据库探索

CoreData是什么 Core Data 是苹果公司提供的一个对象-关系映射框架&#xff08;Object-Relational Mapping&#xff0c;ORM&#xff09;&#xff0c;用于管理应用程序的数据模型。Core Data 提供了一个抽象层&#xff0c;使开发人员能够使用面向对象的方式访问和操作数据&…...

FreeRTOS入门

目录 一、简介 二、堆的概念 三、栈的概念 四、从官方源码中精简出第一个FreeRTOS程序 五、修改官方源码增加串口打印 一、简介 FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统&#xff0c;功能包括&#xff1a;任务管理、时间管理、信号量、消息队列、…...

JVM运行时数据区划分

Java内存空间 内存是非常重要的系统资源&#xff0c;是硬盘和cpu的中间仓库及桥梁&#xff0c;承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略&#xff0c;保证了JVM的高效稳定运行。不同的jvm对于内存的划分方式和管理机…...

重装系统一半电脑蓝屏如何解决

小编相信大家在使用电脑或者给电脑重装系统的时候都遇到过电脑蓝屏等等故障问题。最近有用户就遇到了这样一个问题&#xff0c;问小编重装系统一半电脑蓝屏怎么办&#xff0c;那么今天小编就告诉大家重装系统一半电脑蓝屏的解决方法。 工具/原料&#xff1a; 系统版本&#x…...

SpringBoot(tedu)——day01——环境搭建

SpringBoot(tedu)——day01——环境搭建 目录SpringBoot(tedu)——day01——环境搭建零、今日目标一、IDEA2021项目环境搭建1.1 通过 ctrl鼠标滚轮 实现字体大小缩放1.2 自动提示设置 去除大小写匹配1.3 设置参数方法自动提示1.4 设定字符集 要求都使用UTF-8编码1.5 设置自动编…...

springboot整合redis

1.redis的数据类型,一共有5种.后面结合Jedis和redistemplate,以及单元测试junit一起验证  1)字符串  2)hash  3)列表  4)set(无序集合)  5)zset(有序集合) 2.Jedis的使用  a)引入依赖 <!--加入springboot的starter的起步依赖--><dependency><groupId>…...

【Java】Spring Boot下的MVC

文章目录Spring MVC程序开发1. 什么是Spring MVC&#xff1f;1.1 MVC定义1.2 MVC 和 Spring MVC 的关系2. 为什么学习Spring MVC&#xff1f;3. 怎么学习Spring MVC&#xff1f;3.1 Spring MVC的创建和连接3.1.1 创建Spring MVC项目3.1.2 RequestMapping 注解介绍3.1.3 Request…...

【项目精选】 塞北村镇旅游网站设计(视频+论文+源码)

点击下载源码 摘要 城市旅游产业的日新月异影响着村镇旅游产业的发展变化。网络、电子科技的迅猛前进同样牵动着旅游产业的快速成长。随着人们消费理念的不断发展变化&#xff0c;越来越多的人开始注意精神文明的追求&#xff0c;而不仅仅只是在意物质消费的提高。塞北村镇旅游…...

十、Spring IoC注解式开发

1 声明Bean的注解 负责声明Bean的注解&#xff0c;常见的包括四个&#xff1a; ComponentControllerServiceRepository Controller、Service、Repository这三个注解都是Component注解的别名。 也就是说&#xff1a;这四个注解的功能都一样。用哪个都可以。 只是为了增强程序…...

Linux系统GPIO应用编程

目录应用层如何操控GPIOGPIO 应用编程之输出GPIO 应用编程之输入GPIO 应用编程之中断在开发板上测试GPIO 输出测试GPIO 输入测试GPIO 中断测试本章介绍应用层如何控制GPIO&#xff0c;譬如控制GPIO 输出高电平、或输出低电平。应用层如何操控GPIO 与LED 设备一样&#xff0c;G…...

手敲Mybatis-反射工具天花板

历时漫长的岁月&#xff0c;终于鼓起勇气继续研究Mybatis的反射工具类们&#xff0c;简直就是把反射玩出花&#xff0c;但是理解起来还是很有难度的&#xff0c;涉及的内容代码也颇多&#xff0c;所以花费时间也比较浩大&#xff0c;不过当了解套路每个类的功能也好&#xff0c…...

Java -数据结构,【优先级队列 / 堆】

一、二叉树的顺序存储 在前面我们已经讲了二叉树的链式存储&#xff0c;就是一棵树的左孩子和右孩子 而现在讲的是&#xff1a;顺序存储一棵二叉树。 1.1、存储方式 使用数组保存二叉树结构&#xff0c;方式即将二叉树用层序遍历方式放入数组中。 一般只适合表示完全二叉树&a…...

Python+Qt指纹录入识别考勤系统

PythonQt指纹录入识别考勤系统如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01;前言这篇博客针对<<PythonQt指纹录入识别考勤系统>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学…...

K_A14_004 基于STM32等单片机驱动旋转角度传感器模块 串口与OLED0.96双显示

K_A14_004 基于STM32等单片机驱动旋转角度传感器模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC旋转角度传感器模块1.2、STM32F103C8T6旋转角度传感器模块五、…...

2023年全国最新机动车签字授权人精选真题及答案12

百分百题库提供机动车签字授权人考试试题、机动车签字授权人考试预测题、机动车签字授权人考试真题、机动车签字授权人证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 11.注册登记前所有机动车都应进行安全技术检验。 答案…...

Windows HEIC缩略图支持:让资源管理器直接预览HEIC文件的完整方案

Windows HEIC缩略图支持&#xff1a;让资源管理器直接预览HEIC文件的完整方案 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 跨平台图…...

AI Agent自我进化底层教程(非常详细),收藏这一篇就够了!

一句话讲清楚&#x1f449;&#x1f3fb; MemSkill通过可学习和演进的"记忆技能"系统&#xff0c;让AI Agent能够动态选择和优化记忆操作&#xff0c;实现真正的自我进化。 背景&#xff1a;AI Agent的记忆困境 2026年&#xff0c;AI Agent已经成为人工智能领域最热…...

Enhancing Large Language Model Reasoning with Knowledge Graph Paths: A Faithful and Interpretable Ap

1. 为什么大模型需要知识图谱的"导航系统"&#xff1f; 想象一下&#xff0c;你被突然扔进一个陌生城市&#xff0c;手上只有一本过期的旅游指南。这时候如果有个本地人拿着最新地图给你指路&#xff0c;是不是完全不一样&#xff1f;这就是当前大语言模型&#xff0…...

Cisco Packet Tracer实战:从零搭建一个带冗余和ACL策略的企业网络(附完整配置命令)

Cisco Packet Tracer企业网络实战&#xff1a;冗余架构与ACL策略深度解析 第一次在Packet Tracer中搭建完整企业网络时&#xff0c;我被VLAN间通信、HSRP热备切换和ACL策略的连锁反应彻底难住了。记得那个深夜&#xff0c;当错误配置的ACL导致整个财务部门网络瘫痪时&#xff0…...

Clipboard主题定制终极指南:打造个性化剪贴板界面的简单方法

Clipboard主题定制终极指南&#xff1a;打造个性化剪贴板界面的简单方法 【免费下载链接】Clipboard &#x1f60e;&#x1f3d6;️&#x1f42c; Your new, &#x1d667;&#x1d65e;&#x1d659;&#x1d664;&#x1d663;&#x1d660;&#x1d66a;&#x1d661;&#…...

IntelliJ IDEA 彻底AI化!2026.1 版重磅发布,太香了

备受期待的 IntelliJ IDEA 2026.1 版本现已正式发布&#xff01;本次更新带来了多项重磅功能&#xff0c;从 AI 智能体深度集成到主流语言框架的一流支持&#xff0c;全方位提升开发效率。无论您是 Java、Kotlin 开发者&#xff0c;还是涉及 C/C、TypeScript 的多语言项目开发者…...

告别重复造轮子,用快马平台一键生成OpenClaw高效工具模块

最近在做一个机器人控制项目&#xff0c;需要集成OpenClaw机械爪模块。传统开发方式需要从零开始写大量重复代码&#xff0c;效率很低。后来尝试用InsCode(快马)平台生成核心模块&#xff0c;效果出乎意料的好。这里分享下具体实现思路和优化点&#xff1a; 安全初始化模块设计…...

新手福音:在快马平台交互式学习openclaw更新命令语法与参数

作为一名刚接触openclaw的新手&#xff0c;我最初看到那些复杂的命令行参数时简直一头雾水。直到发现了InsCode(快马)平台&#xff0c;它用可视化的方式帮我拆解了openclaw更新命令的每个细节&#xff0c;现在终于能自信地操作了。下面分享我的学习心得&#xff1a; 命令结构拆…...

OpenClaw多账户管理:Kimi-VL-A3B-Thinking不同项目的环境隔离方案

OpenClaw多账户管理&#xff1a;Kimi-VL-A3B-Thinking不同项目的环境隔离方案 1. 为什么需要多账户环境隔离 上周我同时处理三个项目时遇到了一个尴尬场景&#xff1a;个人博客自动发布脚本误读了工作项目的敏感数据&#xff0c;导致草稿内容错乱。这次事故让我意识到——当O…...

基于YOLOV8的车辆检测系统:快速上手与实用功能

基于YOLOV8的车辆检测系统 基于深度学习的车辆检测系统有数据集 模型已经训练好 直接用即可 报告 30r 就是售价 包搭配环境 远程运行跑通程序 本项目已经训练好模型&#xff0c;配置好环境可直接使用&#xff0c;运行效果见图像&#xff08;可找我要演示视频&#xff09; 项…...