文章目录
1.引用概念
类型名& 引用变量名(对象名)=引用实体;
引用不是新定义一个变量,而是给已经存在的变量取一个别名,编译器不会为引用变量开辟空间,他和他的引用共用同一块内存
举例
注意:引用类型必须和引用实体是同种和类型的
void Test()
{
int a = 10;
int& ra = a;//ra就是a的引用
}
2.引用特点
- 引用在定义时必须初始化
- 一个变量可以有多个引用
- 引用一旦引用了一个实体,变不能引用其他实体
举例
void Test()
{
int a = 10;
int b = 20;
int& ra;//该语句是错误的,必须定义时就初始化
int& ra = a;
int& rra = a;//正确,一个变量可以有多个引用
int& ra = b;//错误,引用一旦引用了一个实体,就不能再引用其他实体
3.常引用
void Test()
{
const int a = 10;
//int& ra = a; 该语句编译时会报错因为a被定义为const类型为常量,用一个普通类型的ra去引用a,ra代表可修改,a就不安全了
const int& ra = a;//可以,即使引用了也不可以修改
//int& b = 10; //也会出错,b是常量
const int& b = 10;//正确
double d = 12.34;
//int& rd = d; 该语句编译报错,引用类型必须和引用实体是同种类型
const int& rd = d;//可以,const类型的引用不可修改,只会取d的整数部分
}
4.引用应用场景
1.做参数
//使用指针
void Swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main