c++ 引用的相关知识与用法

1、引用变量
“引用”的格式: 类型名 & 引用名 = 某变量名

int i;
int & r = i;

引用过后,r与i就是一样的了,改变r的值就相当于改变i的值。
引用一个变量,就相当于是给这个变量设置一个别名,可以通过这个别名来修改变量的值。
引用是从一而终的,且只能引用变量,不能引用常量和表达式。

2、将函数的返回值设置为引用
格式:返回类型 & 函数()

#include <iostream>
using namespace std;

int n;
int & set_val(void)   //返回的是一个变量
{
	return n;
}

int main(int argc, char **argv)
{

	set_val() = 40;
	cout << n << endl;
	
	return 0;
} 

将函数的返回值设为引用,相当于返回的是一个变量,但是这个变量不能设置在函数内部,不能是局部变量,不然在返回时就销毁了。
3、常引用
格式:const 类型名 & 引用名 = 变量

int n;
const int & r = n;
n = 300; //正确用法,n变量的值可以更改
r = 200; //程序报错,r的值不可以更改,因此这个引用是常引用

4、设置函数参数为引用或常引用
格式:函数体 (类型名 & 引用名)
函数体 (const 类型名 & 引用名)

设置函数参数为引用,就可以不通过指针而直接在函数中修改main函数中的变量值。

#include <iostream>
using namespace std;


void set_val(int & n)
{
	n = 10;
}

int main(int argc, char **argv)
{

	int n = 0;
	cout << n << endl;  //输出0
	set_val(n);
	cout << n << endl;  //输出10
	
	return 0;
} 

而在有时候我们在传入参数的之后不想破坏原来参数的值,就可以在参数引用的时候加上const关键字。这样,在函数里如果有改变引用变量的值的操作就会报错,由此可以保护数据。

void set_val(const int & n)
{
	n = 10;  //报错,不能改变n的值
}

int main(int argc, char **argv)
{

	int n = 0;
	cout << n << endl;  //输出0
	set_val(n);
	cout << n << endl;  //输出10
	
	return 0;
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值