C++:指针和引用的区别与联系

电子说

1.2w人已加入

描述

一、概念

指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元。

引用:引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。

举个例子:

引用

引用的特性:

(1)引用在定义时必须初始化;

(2)一个变量可以有多个引用;

(3)引用一旦绑定了一个实体,就不能再改变为其它变量的引用。

二、引用和指针的区别与联系

1.相同点

引用

2.不同点

(1)引用定义时必须初始化,指针可以不用初始化;

(2)引用一旦初始化为指向一个对象,就不能再指向其他对象,而指针可以在任何时候指向任何一个同类型的对象;

(3)没有空引用,但是有空指针;

(4)在sizeof中的含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节的个数(在32为平台下,指针求sizeof永远是4);

(5)引用++改变的是变量的内容,指针++改变的是指针的指向;

(6)有多级指针,但没有多级引用;

(7)引用使用起来比指针更安全;

(8)如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄漏;

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分