目录
一、定义
二、使用步骤
1.创建引用变量
2.引用返回
3.引用参数
总结
一、定义
引用是已定义变量的别名,主要用途是用作函数的形参,通过将引用变量用作参数,函数将使用原始数据,而不是其副本。为函数处理大型结构提供了另一种方便的捷径(还有指针)。
二、使用步骤
1.创建引用变量
如下代码,使用&符号用来声明引用,int &ap = a 代表 ap和 a 指向同样的值和内存单元,aP只是a的一个别名。
int main()
{
int a = 5;
int b = 3;
int &aP = a; //aP为a的引用
cout<
注意点: 必须在声明引用变量时进行初始化,如 int &ap = a; 不能写成 int &ap; ap = a;
2.引用返回
返回引用的函数实际上是被引用的变量的别名
acct(a,b)= 9,实际等价于 acct(a,b); a = 9;
int & acct(int & a,int & b)
{
a = a + b;
return a; //返回为a 的引用
}
int main()
{
int a = 5;
int b = 3;
cout<
注意: 返回引用时需要注意避免返回函数终止时不再存在的内存单元。同时也要避免返回指向临时变量的指针。一般可以返回一个作为参数传递给函数的引用,也可以用new分配新的内存,但一定要记得delete操作。
3.引用参数
引用参数使用的原因:
- 能够修改调用函数的数据对象
- 通过传递引用而不是整个数据对象,可以提高程序的运行速。
参数传递一般选取原则:
不修改调用函数中的数据:
| a. 如果数据对象很小,如内置数据类型或小型结构,值传递 |
| b. 如果数据对象是数组,使用指针,并将指针声明为指向const的指针 |
| c. 如果对象时较大的结构,则使用const指针或const引用,提高程序效率,可以节省复制结果所需的时间和空间 |
| d.如果数据时类对象,使用const引用 |
修改调用函数中的数据:
| a. 内置数据类型使用指针 |
| b. 数组使用指针 |
| c. 结构使用指针或引用 |
| d. 类对象使用引用 |
总结
本文主要介绍了引用的基本使用,引用主要提高程序效率,可以节省复制结果所需的时间和空间,感觉上它和指针的在用法上不同,但目的相同,在实际应用中还是要根据实际情况选择值传递,指针还是引用。



