一、概念
C++中的一种新的变量类型,作用是为变量取别名
二、引用规则
引用被创建时必须被初始化(即必须指向一个对象,因此引用一旦被初始化,就不能再指向其他对象)
引用的数据类型必须与被引用的数据类型相同
不能引用NULL,也不能引用常量
引用是被引用对象的别名,对引用操作,就是对被引用对象操作
三、引用特点
引用还可以被引用
引用当做函数参数:节省空间、提高效率
四、引用与指针的区别
指针是一个实体(有内存空间),引用只是一个别名(无内存空间)
指针内存唯一,引用不唯一
指针可以为空,引用不可以为空
有常指针,常引用无意义
五、基本数据类型的引用
六、引用作为函数参数改变实参值
使用引用,避免大量拷贝
例如:当我们需要用一个函数来比较字符串的大小时,可以将参数设置为引用类型。如果函数使用值传递并且字符串过长,这样就造成了大量的值拷贝,效率太低
因为字符串的比较不需要改变值,所以将参数设置为const类型(常量引用)
七、指针的引用
八、数组的引用
普通数组的引用
数组的引用必须将引用名和&符号用括号圈起来,且数组引用必须给出数组维度
指针数组的引用
需要指定数组的大小
九、const与引用
把引用绑定到const对象上,就像绑定到其他对象上一样,我们称之为“对常量的引用”
与普通的引用不同的是,对常量的引用不能被用作修饰它所绑定的对象:
初始化和对const的引用
在引用的文章中介绍,引用的类型必须与其引用的对象类型一致,但是有两个例外:
在初始化常量引用时允许用任意表达式作为初始值,只要该表达式的结果能转成引用的类型即可(见下面代码段1)
允许为一个常量引用绑定非常量的对象、字面值、甚至是个
领取专属 10元无门槛券
私享最新 技术干货