布条百科 - 专业百科知识分享的网站 手机版
首页 > 百科 >

指针和引用的区别是什么(指针和引用的使用场景?)

100次浏览     发布时间:2024-10-01 09:52:59    

先解决两个疑问

◆ 指针和引用的不同之处是什么?

◆ 何时用用指针?何时用引用?

指针和引用的不同之处

看如下代码:

指针是用来表示内存地址的,而指针这个整数正是被指向的变量地址。

而引用就是给变量重新起了一个名字,引用也就是“别名”。



不同之处

◆ 指针在声明时可以暂时不初始化,当然每次使用指针时都要做检查,以防出现空指针异常的问题0。而引用永远都不会为空,它一定得代表某个对象。

◆ 指针存放的是地址,可以被重新赋值。而引用总是指向它最初代表的那个对象。

指针和引用使用场合

引用主要是作为函数的参数和返回值来使用的,看如下代码:

通过vec[3] =3可改变vector容器的值,这是因为[]操作符返回的就是引用。也就是为内部的变量取了一个别名,还能让[]操作符返回一个指针,即*vec[3]=3。实际上引用可以做的事情指针都可以做,那为什么还要使用引用?

总结

用恰当的工具做恰如其分的工作。

指针可以毫无约束的操作内存中的任何东西,功能十分强大,但也很危险,所以可以在恰当的时机使用引用。

当你需要指向某个东西,绝不会让其指向其它东西,例如有些函数参数为了避免拷贝可以使用引用,或者实现一个操作符而其语法需求无法由指针达成,例如vec[3]=3,可以使用引用,而其它任何时候,都要使用指针。

相关文章

盆栽为什么不发茎(新栽树苗不发芽怎么办?)

在冬末春初和入秋时节,许多种植树木的种植者都会选择在该时节进行树木移栽或者新种树木。这种做法主要是因为此时气候较好且树木的休眠时间已快要结束。但有时候,因为种种原因,刚移栽或者新栽的树木会出现树苗往上冒温但却不发芽的现象。这让许多种植树木的种植者困惑且焦躁,明明看上去什么都没出错,甚至感觉自己已经用

2025-05-03 10:34:48

串联为什么闪烁(串联与并联电路的奥秘!)

我们生活中经常与电路打交道,无论是家庭电器还是电子设备,都离不开电路的运作。在电路设计中,串联电路和并联电路是最常见的两种配置方式,它们在电流、电压以及电阻方面有着不同的表现和规律。了解串联和并联电路的特性,对于电子学习和实际运用都有重要意义。来看一下什么是串联电路。简单来说,串联电路就是多个电器或

2025-05-03 10:33:41

为什么炒菜会有油烟味(油烟味怎么去除)

轻松除油烟味,还你清新空间 在日常生活中,无论是烹饪美食后厨房残留的油烟味,还是从餐厅回来后衣物上沾染的气味,都可能给我们带来困扰。别担心,下面为您介绍多种有效去除油烟味的方法,让您的生活空间时刻保持清新。 厨房油烟味去除 源头控制 使用大功率抽烟机是减少厨房油烟味的关键。每次做完饭后,让抽烟机多工

2025-05-03 10:31:13

厨房为什么会生小虫(黑芝麻般的小虫入侵?)

今天我要和大家聊聊一个让很多人头疼的问题——家里出现了像黑芝麻一样的小虫子!这些小家伙虽然不起眼,但数量一多起来,确实会让人感到困扰。别担心,作为生活大师,我这就来给你支支招,帮你轻松应对这个“黑芝麻大军”的入侵!一、识别与了解:知己知彼,百战不殆首先,咱们得仔细观察这些小虫子的特征,包括它们的体型

2025-05-03 10:26:56

不能播种繁殖为什么(兰花种子不能播种出苗?)

兰花种子细如尘埃,微如棉絮,想把兰花种子种出小苗来,其难度相当大。一直以来,教科书和兰宛专家们都认可的观点是:兰花种子是不可能人工种得出苗来的,即便能出苗也是百万分之一或者更低概率,比中500万彩票的概率还低。确实,把兰花种子在显微镜下放大1万倍之后,发现它没有种子特征,胚和胚乳都没有,似乎它根本就

2025-05-03 10:24:18

铁树为什么叶子变软(养护铁树需要注意的关键点)

铁树(苏铁)是一种古老且观赏性强的植物,养护得当可以生长数十年甚至上百年。但它对环境和养护方式比较敏感,以下是养护铁树需要注意的关键点,帮你避开常见雷区:一、“三大怕”——铁树最致命的天敌怕积水烂根症状:叶子发黄、根部发黑发软。急救:立即停水,挖出植株切除腐烂根,用多菌灵浸泡后换透气土重新栽种。预防

2025-05-03 10:16:12