1、什么是引用
引用说白了就是取外号,声明一个标识符与其他对象进行绑定,相当于一个对象对应多个名字。
2、什么时候适合所使用
函数传参时使用,与指针相比,它不需要额外空间,也不需要赋值,仅仅是内存与标识符的绑定,既安全又高效。引用虽然好,但是并不能安全替代指针,如果使用堆内存,仍需要指针配合。
3、如何使用引用
int& 标识符 = 变量;
4、使用引用要注意的问题
1)定义引用时必须初始化,不存在空引用。
2)引用不能更改目标,引用一旦完成定义和初始化后,标识符就与普通变了一样,它就代表引用目标,一旦引用终生不能能修改目标。
3)可以引用无名的临时对象,但必须使用常引用(相当于定义一个变量)。
4)如果引用的目标具备 const 属性,那么引用也必须带 const。
C++中的指针与引用的相同点和不同点。
相同点:函数之间共享变量
不同点:
引用 | 指针 |
---|---|
取名机制 | 数据类型 |
不需要额外的存储空间 | 需要4/8字节存储地址编号 |
不能为空 | 可以为空 |
映射关系 | 指向关系 |
没有二级引用 | 有二级引用 |
无法与堆配合 | 可以配合使用堆内存 |
直接访问目标 | 需要解引用 |
不能定义数组引用 | 可以定义数组引用 |