c++学习笔记(九)

引用(reference)

概念

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。

一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。

用法

变量名称是变量附属在内存位置中的标签,所以可以把引用当成是变量附属在内存位置中的第二个标签。

即可以通过原始变量名称或引用来访问变量的内容。

int i=1;
int& x=i;

在这个声明里&读作引用,这个声明可以读作 "x是一个初始化为i的整型引用"。

但是需要注意,引用必须进行初始化,而且不能直接引用常量。

int& x;//错误的写法
int& x=3;//也是错误

如果要引用常量的话,前面必须加上const。
const int& x=3;//对的写法
原因的话,是因为后面可能会对引用的进行复制,常量不能进行赋值,所以直接引用常量是错的,而加上const就好了。

使用引用和使用指针相比的话有一个好处,就是不需要测试其有效性。因为在引用一定会有指向的。

使用引用参数

实践一下,看看使用引用参数能不能交换2个函数的值

#include<iostream>
using namespace std;
void swap(int& ,int& );//使用引用参数。
int main()
{
	int n1=3,n2=5;
	swap(n1,n2);
	cout<< n1 << "\t" << n2 <<endl;
	return 0;
}
void swap(int& a,int& b)
{
	int t;
	t=a;
	a=b;
	b=t;
}


结果是成功交换,因为在使用引用参数时,传进函数的就已经不是形参,而是本体实参了。

当然这个的话指针也可以做到。但有一些使用引用的理由。

1.可以更简便地书写代码。

2.可以直接传递某个对象,而不是直接把对象复制一份。

posted @ 2020-02-07 21:21  hqk111  阅读(84)  评论(0编辑  收藏  举报