注释挺全的,看注释吧
#include<iostream>
using namespace std;
void fun(int&, int&);
int main() {
int a = 3,c=4;
int& b = a;
cout << b << endl;
//1.int& b = c;错误; 声明一个引用后不可以作为另一个引用
//2.声明引用必须同时初始化.
//3.int &n=a[0]不能建立数组引用.
//4.不能建立引用的引用
int* p;
p = &b;
//5.可以取引用的地址;
cout << *p << endl;
cout << &b << endl;
//6.此处为取b的地址,而不是引用
int i = 5, j = 3;
fun(i, j);
cout << i << "--" << j << endl;
//7.引用作为形参进行操作,实参可以进行相应的操作,main调用fun函数时把i,j的地址传给了参数a,b 这样就是a,b变成了
//i,j的别名 叫做地址传递方式
return 0;
}
void fun(int& a, int& b){
int c;
c = a;
a = b;
b = c;
结果:
3
3
000000273552F544
3--5
//1.int& b = c;错误; 声明一个引用后不可以作为另一个引用
//2.声明引用必须同时初始化.
//3.int &n=a[0]不能建立数组引用.
//4.不能建立引用的引用
//5.可以取引用的地址;
//6.此处为取b的地址,而不是引用
//7.引用作为形参进行操作,实参可以进行相应的操作,main调用fun函数时把i,j的地址传给了参数a,b 这样就是a,b变成了i,j的别名 叫做地址传递方式