C++引用

引用的作用就是给变量取一个别名。

引用的本质就是一个指针常量!!

        int& ref = a; --->int* const ref = &a;        这就是为什么引用只能初始化一次!!

        int& ref = 10;        是错误的!!
       引用意味着可以修改被引用对象,而10是常数不可修改故错误!!
正确用法:const int& ref = 10;

引用语法:
        数据类型 &变量名 = 被引用的对象;
数据类型要和被引用的对象类型相同!!!

示例代码:

#include <iostream>
using namespace std;

int main(void)
{
	int a = 10;
	int& b = a;

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	b = 100;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	system("pause");
	return 0;
}

代码运行结果:

修改引用变量的值,被引用的对象的值也会一起改变!!!

引用的注意事项:

        ①引用必须初始化!        //int& a;        此引用是错误的。
        ②引用一旦初始化完成,不能更改引用。

引用作为函数参数:

        当引用作为函数参数的时候,可已实现形参修饰实参!!

#include <iostream>
using namespace std;

/*值传递*/
void swap1(int a, int b)
{
	int temp = a;
	a = b;
	b = temp;
}

/*引用做函数参数*/
void swap2(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;
}

int main(void)
{
	int a = 20, b = 10;

	swap2(a, b);
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	system("pause");
	return 0;
}

代码运行结果:

通过swap2函数实现了实参a,b的交换。

引用作为函数返回值:

#include <iostream>
using namespace std;

/*返回静态变量的引用*/
int& test1() {
	static int a = 20;
	return a;
}
int main(void)
{
	int& ref = test1();

	cout << "ref = " << ref << endl;

	/*当返回值是引用时,函数可以作为左值*/
	test1() = 100;
	cout << "ref = " << ref << endl;

	system("pause");
	return 0;
}

     EX : 返回值会引用的时候,不要返回局部变量!!!!
               可以返回静态变量的引用,因为他由系统释放!
               当函数返回值为引用的时候,函数可以作为左值!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值