C筑基——引用
引用
为一个变量起一个别名,是C++的重要扩充;
C++之所以增加引用机制,主要是把它作为函数参数,以扩充函数传递数据的功能。
变量的引用
声明一个引用时,必须同时使之初始化,即声明它代表哪一个变量(当引用作为函数形参时不必在声明中初始化)
1 | int a; |
- 在声明一个引用后,不能再使之作为另一变量的引用
-不能建立对数组的引用,即int &b[5] = a;这样是错误的,不过可以建立对数组元素的引用int &b = a[0];.
-不得建立对引用的引用,引用的指针(因为引用他没有自己独立的内存地址)
-但是在建立引用后,可以有int *p;p = &b;
-在声明了引用后,在使用它时不带&
-cout<<”引用b的值为”<<b<<“引用b的地址为”<<&b;
引用作为函数参数
三种方式实现函数参数的传递:
将变量名作为实参和形参
传递变量值,传递单向,函数执行期间形参的变化不影响实参,形参与实参占不同存储单元
传递变量的地址
形参是指针变量,实参是一个变量的地址;调用时形参指向实参变量单元,即可实现在函数中对实参进行修改(不够直观)
引用作为函数形参
使形参名作为实参的“引用”,即形参成为实参的引用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using namespace std;
int main()
{
void swap(int &,int &); //函数声明
int i=3,j=5;
swap(i, j); //实参为整型变量
cout<<<<i<<" "<<j<<endl;
return 0;
}
void swap(int &a,int &b){ //等价于int &a = i;
int t;
t = a;
a = b;
b = t; //成功完成对实参的变换,相较于指针这样写来的更加直观
}
/*通过引用代替部分指针的工作,降低了程序设计的难度*/引用不仅可以用于变量,也可以用于类对象。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.

