C++ 中的引用

偷偷拿来记录一下萌新的cs路——day 20 继续学习C++基本知识 ,引用的语法,作函数参数、函数返回值。

#include<iostream>
using namespace std;

//交换函数
//值传递
void swap01(int a, int b) {
	int temp = b;
	b = a;
	a = temp;
}
//地址传递
void swap02(int* a, int* b) {
	int temp = *b;
	*b = *a;
	*a = temp;
}
//引用传递
void swap03(int & a, int & b) {
	int temp = b;
	b = a;
	a = temp;
}

//引用作函数的返回值
int& test() {
	static int a = 10;  //静态变量存放全局区;不可使用局部变量,存放栈区
	return a;
}

//防止误操作
void showValue(const int &val) {
	//val = 100; //此举报错
	cout << "value = " << val << endl;
}

int main() {
	int a = 10;
	int& c = a;  // a别名b,引用须初始化
	cout << "a= " << a;
	cout << "\tc= " << c << endl;

	int b = 20;
	//c = b;  //赋值,而非更改引用
	//cout << "a'= " << a << endl;
	//cout << "c'= " << c << endl;

	swap01(a, b);  //值传递,形参不会修饰实参
	cout << "swap01a= " << a;  
	cout << "\tswap01b= " << b << endl;

	swap02(&a, &b);  //地址传递,形参修饰实参
	cout << "swap02a= " << a;
	cout << "\tswap02b= " << b << endl;

	swap03(a, b);
	cout << "swap03a= " << a;
	cout << "\tswap03b= " << b << endl;

	int& ref = test();
	cout << "ref = " << ref << endl;
	test() = 1000;  //a赋值1000,引用可作左值
	cout << "ref' = " << ref << endl;

	showValue(a);

	return 0;
}

运行结果

以后学了更多知识还会回来更新的!有误之处恳请大佬们指正,提前感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值