【C++】3-1.1 c++引用

1.引用是什么

引用就是被引用变量的一个“别名”,读写引用时,相当于直接读写被引用的变量本身。

对于“别名”的理解:
先有一个提前定义好的变量,再才有这个变量的别名;
即:引用必须是附着在某一个已经存在的变量上。

另外,一个变量可以有多个“别名”的,但每个“别名”只能给一个变量;
这并不冲突:变量可以有多个别名,但别名不能冲突!

2.引用的申明

引用的声明方式如下:

type& referenceName = variable;

其中
“type”是某种数据类型,比如“int”;
referenceName是引用变量的名字;
variable是被引用变量。

注意:
引用必须在声明的时候就被初始化,因此需要,variable必须是提前定义好的一个变量。

关于&的说明:
&(读成and符号)本身是取地址的符号,当把&放在变量的定义里面时,&符号就是引用,而不是取地址!

示例:

# include <iostream>

int main()
{
    
    
	int x, & rx = x; //等价 int x;int&  rx = x;
	rx = 5;
	std::cout << x << std::endl; //输出数字5
	return 0;
}

3.引用的性质

-3.1 引用必须在声明的时候初始化;
-3.2 通过引用所做的读写操作实际上是作用于原变量上;
-3.3 引用一旦初始化,引用名字就不能再指定给其它变量;

4.引用传递

我们申明一个函数时,它的参数叫做形式参数,简称形参;
当在调用函数的时候,传的参数叫做实际参数,简称实参;

当形参为引用类型时:引用传递;

对于引用传递的函数:
调用时只需传普通变量即可;
在被调函数中改变引用变量的值,则改变的是实参的值(引用类型的形参就可以看成是实参变量本身);

5.多个引用的示例

#include <iostream>

int main() {
    
    
	int a{
    
     0 }, b{
    
     1 };
	int& r{
    
     a };//引用在声明的同时就要初始化,r是a的别名;
	std::cout << "1、a=" << a << " b=" << b << std::endl;
	r = 42;

	std::cout << "2、a=" << a << " b=" << b << std::endl;

	r = b;

	std::cout << "3、a=" << a << " b=" << b << std::endl;

	int& r2{
    
     a };//继续给a起别名;

	r2 = 77;
	std::cout << "4、a=" << a << " b=" << b << std::endl;

	int& r3{
    
     r };//给r起别名,即给a起别名;

	r3 = 66;
	std::cout << "5、a=" << a << " b=" << b << std::endl;

	return 0;
}

运行如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jn10010537/article/details/115286161
今日推荐