c++引用类型和指针类型的区别

发布网友 发布时间:2022-04-22 19:55

我来回答

4个回答

热心网友 时间:2023-10-27 04:03

引用是变量的别名,指针是变量的地址;

引用不能存在,定义时必须初始化,指针则不然;

对某变量的引用的操作就是对该变量本身的操作,能引起变量永久性改变,而对某变量指针的操作并不影响变量值,只有通过指针对其目标的操作才能永久性改变指针所指的目标值。

引用在寿命期内不能再定义为其他变量的引用,指针却可以指向其他变量。

不能引用一个数组,但有数组的指针。

没有引用的引用,却有指针的指针。

热心网友 时间:2023-10-27 04:03

能用引用完成的都可以用指针完成.
能用指针完成的不一定能用引用完成.
引用正是屏蔽了指针 "不安全 "但却 "功能强大 "的那部分.

引用不能为空,
所以在程序中的引用都是有值的,不必检查该引用是否为空。
而指针则可以为空。你可以定义一个指向NULL的指针,这就是和引用的最大区别,
所以在程序中使用指针之前必须检查该指针是否为空

区别主要有三条
1、引用必须初始化,指针可以任何时候初始化
2、引用后不能再引用其他对像,指针则可以
3、引用不能为空,指针可以为空

(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。
(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。

热心网友 时间:2023-10-27 04:04

从内部看,本质一样,存放的都是指向的单元地址,但处理含义不一样。
引用是用地址直接表示所指向的单元,不需要加*号就能访问指向单元,但引用受到*。原因是只为子程序传址用的。
而指针只存放某单元的地址,若访问这个单元必须在指针前加*号。
其实对引用类型,可以用特殊办法绕开引用的*,象指针一样任意改变引用的指向。

热心网友 时间:2023-10-27 04:04

引用是别名的意思,指针保存的是地址。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com