一、引用

1、引用的概念:

  • 定义引用时一定要将其初始化成引用某个变量。
  • 初始化后,它就一直引用该变量,不会再引用别 的变量了。
  • 引用只能引用变量,不能引用常量和表达式。

2、格式:

类型名 &引用名=某个变量名;

例如:int n=4;

   int &r=n;

其中 r 的类型为int&

某个变量的引用,等价于这个变量,相当于该变量的一个别名

例题:

int n = 4;
int & r = n;
r = 4;
cout << r; //输出 4
cout << n; //输出 4
n = 5;
cout << r; //输出5

3、引用的示例

1)有了C++的引用

void swap( int & a, int & b)
{
int tmp;
tmp = a; a = b; b = tmp;
}
int n1, n2;
swap(n1,n2) ; // n1,n2的值被交换

2)作为函数的返回值

int n = 4;
int & SetValue() { return n; }
int main() 
{
SetValue() = 40;
cout << n;//输出40
return 0;
}

4、常引用

定义引用时,前面加const关键字,即为“常引用”

int n;

const int & r = n;

其中r 的类型是 const int &

注意:不能通过常引用去修改其引用的内容:

int n = 100;
const int & r = n;
r = 200; //编译错
n = 300; // 没问题

5、常引用和非常引用的转换

const T & 和T & 是不同的类型!!!

T & 类型的引用或T类型的变量可以用来初始化 const T & 类型的引用。

const T 类型的常变量和const T & 类型的引用则 不能用来初始化T &类型的引用,除非进行强制类型 转换。

 

posted @ 2022-05-13 17:07  Grit_L。  阅读(57)  评论(0编辑  收藏  举报