换个花样玩C++(4)细聊C++的引用精妙之处

news2024/12/29 11:02:31

        引用是C++引入的新语言特性。而且在日常工作开发过程中,经常会使用到引用,对于一些做系统架构的架构师而言,这也是不可或缺的一门基本功,我在工作中发现,很多人并没有搞清楚引用。因此我在本篇中将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 

引用的概念

         引用不是新定义一个变量,而是给已存在变量取了一个别名 ,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。我们先来看基础的示例代码

示例1:

#include<iostream>  
int main() {
	int a = 100; 
	int& b = a; 
	std::cout << a << "," << b << std::endl;
	return 0;
}

很简单就是这样用的,那么我们来看下a和b的地址:

 可以看到a和b的地址相同,所以证明刚才说的引用本身和引用的变量共用同一块内存空间。

那么能否使用一个引用,不做任何初始化操作?

int main() { 
	int& b; 
	return 0;
}

答案是不行的,必须初始化,否则编译器不通过。 

那么能否让引用再

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/472448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你的mysql到底能存多少数据呢?

前言 参考借鉴文章 我说MySQL每张表最好不超过2000万数据&#xff0c;面试官让我回去等通知&#xff1f; 这里自己在总结一下&#xff0c;原因是相关知识欠缺&#xff0c;看别人的文章研究很久才弄明白&#xff0c;所以这里记录一些心得。 作者&#xff1a;阿杆 链接&#xff…

4月28号软件资讯更新合集.....

快速接活&#x1f496;Snowy v2.2.8 已更新 Snowy&#xff08;SnowyAdmin&#xff09;是国内首个国密前后端分离快速开发平台&#xff0c;集成国密加解密插件&#xff0c; 使用 AntdvVite3SpringBootMybatisPlusHutoolSaToken 技术栈开发&#xff0c;软件层面符合等保测评要求…

PPPwizard1.4.3软件使用说明中文翻译稿

PPP软件包使用说明(版本1.4.3) 1. 交付包 PPPWizardxy内容是按照以下模式组成&#xff1a; PPPWizardxy |-- PPPSoftwarePackage_v1.4.3.pdf |-- RTRover |-- compile.sh |-- generateLowLevel.cpp |-- getStream.cpp |-- laurichesse_ion_gnss_2015_september_bdp.pdf |-- …

JVM内存模型的演变

1&#xff0c;背景 class文件、类的加载过程。我们的class文件就要进入到JVM内存里&#xff0c;我们沿着经典的JDK1.6&#xff0c;JDK1.7&#xff0c;JDK1.8看看在其中都经历了哪些改变 概念的统一&#xff1a; 方法区&#xff1a; 方法区可以看作是JVM逻辑上管理一片区域的…

深度学习-第T5周——运动鞋品牌识别

深度学习-第T5周——运动鞋品牌识别 深度学习-第T5周——运动鞋品牌识别一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目3、查看数据 四、数据预处理1、 加载数据1、设置图片格式2、划分训练集3、划分验证集4、查看标签 2、数据可视化3、检查数据4、配置数据集 …

微短剧“小阳春”,“爱优腾芒”抢滩登陆?

降本增效一整年&#xff0c;长视频平台们似乎扭转了市场对于它们“烧钱”的印象。 爱奇艺宣布2022全年盈利&#xff0c;腾讯视频宣布从去年10月起开始盈利&#xff0c;视频平台们结束了一场“无限战争”。 与此同时&#xff0c;随着短视频平台的崛起&#xff0c;视频内容的形…

从0到1带你构建——低代码开发入门案例

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端&#xff08;Node.js&#xff09; &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿多个前端 offer&#xff08;…

【算法】欧拉路径的DFS存储顺序

欧拉路径和欧拉回路 对于无向图&#xff0c;所有边都是连通的。 &#xff08;1&#xff09;存在欧拉路径的充分必要条件&#xff1a;度数为奇数的点只能有0个或2个。 &#xff08;2&#xff09;存在欧拉回路的充分必要条件&#xff1a;度数为奇数的点只能有0个。 对于有向图&a…

jvm之字节码

写在前面 java字节码由单字节的指令(也叫做操作码)组成&#xff0c;但一个 byte 最多能够存储 256 个指令&#xff0c;够用吗&#xff1f;截止到目前是够的&#xff0c;因为指令的个数是200多一点&#xff0c;指令分为如下四类&#xff1a; 1&#xff1a;栈操作指令&#xff…

【前端基础知识】Vue中的变量不是响应式的吗?属性赋值后视图不变化的原因是什么?

目录 &#x1f914;问题&#x1f4dd;回答&#x1f3a8;使用场景动态添加属性动态添加数组元素 ❌注意事项$set只能在响应式对象上使用$set不能用于根级别的属性$set的性能问题 &#x1f4c4;总结 &#x1f914;问题 Vue是一款在国内非常流行的框架&#xff0c;采用MVVM架构&a…

数据库课设--基于Python+MySQL的餐厅点餐系统

文章目录 一、系统需求分析二、系统设计1. 功能结构设计2、概念设计2.2.1 bill_food表E-R图2.2.2 bills表E-R图2.2.3 categories E-R图2.2.4 discounts表 E-R图2.2.5 emp表E-R图2.2.6 food 表E-R图2.2.7 member表E-R图2.2.8 member_point_bill表E-R图2.2.9 servers表E-R图2.2.1…

五一出行!如何辨别偷拍设备

五一小长假即将到来&#xff0c;作为出行的重要一环&#xff0c;我们都希望能在旅途中享受安全与便捷。但不可避免的事&#xff0c;有些不法分子可能会通过安装针孔摄像头等方式进行非法监控。从表面上看&#xff0c;我们很难分辨。这些小小的设备&#xff0c;被伪装成日常用品…

elementUI组件库el-switch开关控件的样式设置,精细至开关内的文字、圆点、背景设置

开发项目时做一种开关控件样式&#xff0c;要求显示和隐藏两种状态下的文字、圆点、背景色等都有区别&#xff0c;就研究了一下&#xff0c;各种设置已在代码中标注&#xff0c;小白也可直接复制使用。 <el-table-column label"操作"><template slot-scope&…

【FPGA】Spartan®-7器件XC7S75-1FGGA484C、XC7S15-1FTGB196C现场可编程门阵列芯片

赛灵思 Spartan-7现场可编程门阵列采用运行频率超过200DMIP的MicroBlaze™软处理器&#xff0c;支持800Mb/s DDR3&#xff0c;基于28nm技术。FPGA是半导体器件&#xff0c;基于通过可编程互连系统连接的可配置逻辑块 (CLB) 矩阵。Spartan-7具有集成的模数转换器、专用安全特性以…

回溯算法经典面试题

⭐️前言⭐️ 本文汇总了常见的回溯算法题目&#xff0c;并将框架来进行运用&#xff0c;相信通过这篇文章&#xff0c;读者能够对回溯算法有一定了解。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主将持续更…

【MySQL入门指南】主键与唯一键的使用与区别

文章目录 一、主键1.基本语法2.使用案例 二、唯一键1.基本语法2.使用案例 一、主键 1.基本语法 -- 方式一 create table t5(id int primary key, ……); -- 设置id字段主键-- 方式二 create table t5(id int primary key,……primary key(id, ……); -- 每个表只能有一个主键…

商城订单模块实战 - 分库分表实战及海量数据处理

商城订单服务的实现 数据量 在设计系统&#xff0c;我们预估订单的数量每个月订单2000W&#xff0c;一年的订单数可达2.4亿。而每条订单的大小大致为1KB&#xff0c;按照我们在MySQL中学习到的知识&#xff0c;为了让B树的高度控制在一定范围&#xff0c;保证查询的性能&…

归一化层(BatchNorm、LayerNorm、InstanceNorm、GroupNorm)

参考博客 BatchNormalization、LayerNormalization、InstanceNorm、GroupNorm、SwitchableNorm总结 PyTorch学习之归一化层&#xff08;BatchNorm、LayerNorm、InstanceNorm、GroupNorm&#xff09; BN&#xff0c;LN&#xff0c;IN&#xff0c;GN从学术化上解释差异&#xf…

前端常见报错问题处理及技术点收集

一、报错问题收集 1、页面停留半小时左右不动卡死报错问题 Uncaught (in promise) TypeError: Failed to fetch dynamically imported module: http://10.233.54.161/assets/index.f8110bbc.js Promise.then (async) E main.c19f562f.js:39 f main.c19f562f.js:39 z.onClick…

Chatgpt聊天机器人系统开发

智能聊天ChatGPT的主要功能包括&#xff1a; 对话生成&#xff1a;生成连贯、自然的对话回复&#xff0c;与用户进行自然而流畅的对话。 意图识别&#xff1a;识别用户的意图和需求&#xff0c;并提供相应的回复或建议。 语义理解&#xff1a;理解用户的语言表达&a…