引用是什么?
罗xx==姓名
萝卜==别名
引用是变量的别名
能不能只有别名?无法成立
&引用符号
基本数据类型的引用
int a=3;
int &b=a; //**引用必须初始化**
b=10;
cout<<a<<endl; //输出为10,别名=真名
return 0;
结构体类型的引用
typedef struct
{
int x;
int y;
}Coor;
using namespace std;
int main(void){
Coor c1;
Coor &c=c1;
c.x=10;
c.y=20;
}
指针类型的引用
类型 *&指针引用名=指针;
int a=10;
int*p=&a;
int *&q=p;
*q=20; //将20赋值给*p==将20赋值给a
cout<<a<<endl;//a=20
引用作为函数参数
int c=0;
c=a;
a=b;
b=c;
代码示例
1.
{
int &b=null; //错误
}
2.
{
int a=10;
int &b=a;
b=20
cout<<a<<endl;//20
a=30;
cout<<b<<endl;//30
}
3.
{
int a=3
int *p=a;
int *&q=p;
*q=5;
cout<<a<<endl;
}
引用与指针
int i = 3;
int *p = &i;
int &q = i;
cout << p << endl; //Address
cout << *p << endl; //3
cout << q << endl; //3
return 0;