【笔记】C++的引用

前言

C++的引用学习笔记

引用

  • 给变量起别名
  • 引用的本质是一个指针常量
  • 引用必须初始化
  • 引用一旦初始化后,就不可以更改
1
2
3
4
5
6
7
8
9
// 引用一个合法的内存空间
数据类型 &别名 = 原名;
// 引用的本质是一个指针常量
//数据类型 * const 别名 = &原名;

// 通过引用操作数据
别名 = 值;
// 内部自动解引用
*别名 = 值;

引用做函数的参数

  • 引用传递
1
2
3
4
5
6
7
8
9
10
11
返回值类型 函数名(数据类型 &形参名)
{
return 返回值;
}

int main()
{
数据类型 变量名 = 值;
函数名(变量名);
return 0;
}

引用做函数的返回值

  • 不要返回局部变量的引用
  • 函数的调用可以作为左值
1
2
3
4
5
6
7
8
9
10
11
12
返回值类型& 函数名()
{
数据类型 变量名 = 值;
return 变量名;
}

int main()
{
数据类型 &变量名 = 函数名();
函数名() = 值;
return 0;
}

常量引用

  • 修饰形参,防止形参改变实参
1
2
3
4
// 引用
const 数据类型 & 别名 = 值;
// 实质上
//数据类型 temp = 值; const 数据类型 & 别名 = temp;
1
2
3
4
数据类型 函数名(const 数据类型 &形参名)
{
...
}

完成

参考文献

哔哩哔哩——黑马程序员