什么是引用类型引用和指针的区别
学习啦在线学习网 引用类型是由类型的实际值引用(类似于指针)表示的数据类型。那么你对引用类型了解多少呢?以下是由学习啦小编整理关于什么是引用类型的内容,希望大家喜欢!
引用类型的简介
学习啦在线学习网 “引用”(reference)是c++的一种新的变量类型,是对C的一个重要补充。它的作用是为变量起一个别名。假如有一个变量a,想给它起一个别名,可以这样写:int a;int &b=a;
这就表明了b是a的“引用”,即a的别名。经过这样的声明,使用a或b的作用相同,都代表同一变量。在上述引用中,&是“引用声明符”,并不代表地址。
学习啦在线学习网 不要理解为“把a的值赋给b的地址”。引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。声明引用并不开辟内存单元,b和a都代表同一变量单元。
注意:在声明引用变量类型时,必须同时使之初始化,即声明它代表哪一变量。在声明一个变量的引用之后,在本函数执行期间,该引用一直与其代表的变量相联系,不能再作为其他变量的别名。
引用和指针的区别
看实例吧:
引用是C++中的概念,初学者容易把引用和指针混淆一起。
下面的程序中,n是m的一个引用(reference),m是被引用物(referent)。
int m;
学习啦在线学习网 int &n = m;
n相当于m的别名(绰号),对n的任何操作就是对m的操作。
所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。
引用的规则
学习啦在线学习网 (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
学习啦在线学习网 (2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。
学习啦在线学习网 (3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
以下示例程序中,k被初始化为i的引用。
语句k = j并不能将k修改成为j的引用,只是把k的值改变成为6。
由于k是i的引用,所以i的值也变成了6。
int i = 5;
int j = 6;
学习啦在线学习网 int &k = i;
k = j; // k和i的值都变成了6;
看过“引用和指针的区别”的人还看了: