引用与指针的区别

中年老妇男的偶像 提问于2024-06-05 00:03:55
推荐回答

常常有人问引用与指针的区别,可能是指针和引用在功能上的相似,而是他们混淆这两个概念。
现在总结以下二者的区别,希望大家能彻底弄清这两个概念根本性的差别

步骤/方法

引用,一个变量的别名,为什么引入别名呢?原因是我们想定义一个变量,他共享另一个变量的内存空间,使用别名无疑是一个好的选择。变量是什么?是一个内存空间的名字,如果我们给这个内存空间在起另外一个名字,那就是能够共享这个内存了,引用(别名)的由此而来。指针,指向另一个内存空间的变量,我们可以通过它来索引另一个内存空间的内容,本身有自己的内存空间。

二者区别:引用访问一个变量是直接访问,而指针是间接访问。引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。引用在开始的时候就绑定到了一个内存空间(开始必须赋初值),所以他只能是这个内存空间的名字,而不能改成其他的,当然可以改变这个内存空间的值.例如int i = 3,j = 4;int &x = i;//成为i的别名x = j;//不能否认x仍然引用i,并没有成为j的别名,只是修改了x和j共享的内存空间的值.这点与指针不同,指针在任何时刻都可以改变自己的指向

你无法让引用与其指示物分离。和指针不同,一旦引用和对象绑定,它无法再被重新指向其他对象。引用本身不是一个对象(它没有标识;当试图获得引用的地址时,你将的到它的指示物的地址;记住:引用就是它的指示物 )。从某种意义上来说,引用类似 int* const p 这样的const指针(并非如 const int* p这样的指向常量的指针)。不管有多么类似,请不要混淆引用和指针;它们完全不同。何时该使用引用, 何时该使用指针?尽可能使用引用,不得已时使用指针。

当你不需要“重新指向(reseating)”时,引用一般优先于指针被选用。这通常意味着引用用于类的公有接口时更有用。引用出现的典型场合是对象的表面,而指针用于对象内部。上述的例外情况是函数的参数或返回值需要一个“临界”的引用时。这时通常最好返回/获取一个指针,并使用 NULL指针来完成这个特殊的使命。(引用应该总是对象的别名,而不是被解除引用的 NULL 指针)。注意:由于在调用者的代码处,无法提供清晰的的引用语义,所以传统的 C 程序员有时并不喜欢引用。然而,当有了一些 C++经验后,你会很快认识到这是信息隐藏的一种形式,它是有益的而不是有害的。就如同,程序员应该针对要解决的问题写代码,而不是机器本身。

中年老妇男的偶像 2024-06-07 10:14:00

相关推荐

通气会是什么意思 发布时间 2024-11-12

1、通气会即吹风会,指要出台新政策,先吹风,看舆论反应的议事形式。2、新闻通气会,指有关部门就重大事件召开的记者会,分析事件的社会反响和统一宣传口径。新闻通气会是由名词“新闻”和名词“通气会”组合成的复合性名词。...
查看全文>

风险应用白名单怎么设置 发布时间 2024-11-12

我们以vivo手机为例,首先打开“i管家”App,然后点击左下方的“安全检测”按钮,等待安全检测完毕后会自动弹出风险选项,此时我们需要点击应用进入风险选项的详情页,接着点击页面右上角的“…”按钮,在弹出的菜单中点击“加入白名单”按钮即可。vivo手机使用必备小技巧:1.将电话号码导入SIM卡中--首先打开手机的“设...
查看全文>

空调除湿开多少温度合适 发布时间 2024-11-12

把温度设置在比室温低4度时最合适。比如说制冷温度设置在27度,那么除湿温度设为23度最好。长时间使用空调除湿模式,会损害空调压缩机,一般一次使用1-2个小时就可以了。使用空调除湿注意事项在使用空调的除湿模式时要注意,如果室外温度很高,而空气很干燥的话,就不要长时间开启除湿模式,以免损坏压缩缩机,一般室外温度高于40...
查看全文>

奶块盐有什么用 发布时间 2024-11-12

奶块盐有什么用:用装满水的玻璃瓶烧制即可获得盐。用途:1、任意淡水鱼×3+牛奶×1+土豆×1+胡萝卜×1+胡椒×1+盐×1+空碗×1=鱼肉蔬菜浓汤。2、任意淡水鱼×2+苹果西红柿×1+胡椒×1+盐×1=秘制烤鱼。3、任意鱼×2+55子×2+肉豆蔻×1+盐×1=咸鱼55子。4、任意海鱼×3+任意虾类+任意贝类+土豆×...
查看全文>

江南百景图西域商人怎么刷 发布时间 2024-11-12

首先玩家去找西域商贾进行交易,交易完两次之后切换到苏州府,再从苏州府切换到应天府,这样来回切换几次之后西域商贾就刷新了,这样以此反复进行就可以了;先找到西域商贾交易两次,然后打开自己的好友栏在不同好友之间进行切换,这样很快也能把西域商人刷出来。江南百景图西域商人怎么刷方法一首先玩家去找西域商贾进行交易,交易完两次之...
查看全文>

优选推荐

桂花酱怎么吃

宿州道东2号地拆迁吗

胎压监测有什么作用

无线路由器如何安装设置