栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ -- 引用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ -- 引用

目录

一、引用是什么?

​二、引用的注意事项

 1.引用必须初始化

2.一个变量可以有多个引用

3.引用一旦引用一个实体,再不能引用其他实体

三、引用的用法

1.引用做参数

2.引用做返回值

3.常引用

四、引用和指针的区别


一、引用是什么?

        引用在C++中就是起别名,不开辟新的空间,可以通过操作别名来操作初始的变量。

        如下,我们通过引用b作为a的别名,操作b而改变了a的值。实际上b和a共用同一块空间。

int a = 0;
int& b = a;
b = 1;
cout << a << endl; 




二、引用的注意事项

 1.引用必须初始化
int a = 10;
int& b;//错误


2.一个变量可以有多个引用
int a = 10;
int& b = a;
int& c = a;

3.引用一旦引用一个实体,再不能引用其他实体
int a = 10;
int& b = a;
int c = 20;
b = c;//把c赋值给b而不是让b变成c的别名

三、引用的用法

1.引用做参数

        引用做参数,参数中的ab就是xy的别名,因此交换ab中的值,就是在交换xy中的值。

        这样好处在于不用产生临时变量,提高效率。形参的改变可以影响实参。

void swap(int& a, int& b)//a,b就是x,y的交换
{
	int temp = a;
	a = b;
	b = temp;
}


2.引用做返回值

        传引用返回,不会生成c的拷贝,直接返回c的引用。

int& Add(int a,int b)
{
	int c = a + b;
	return c;
}

3.常引用

        权限放大,错误

const int a = 0;
int& b = a;

        权限相等,可行

const int a = 0;
const int& b = a;

        权限缩小,可以

int a = 0;
const int& b = a;

四、引用和指针的区别

        1.引用是别名,指针是放地址的变量

        2.引用没有开辟新的空间,而指针需要有一个变量空间来记录地址

        3.指针更加灵活,可以有更多灵活的操作,但相较引用就会显得不太安全

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629982.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号