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

C++中的引用

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

C++中的引用

C++ 2
  • 引用的概念
  • 引用的方法
  • 常引用
  • 引用的用法
  • 传值与传引用的效率比较
  • 引用与指针的区别

引用的概念
引用不是新定义一个变量,而是给已存在的变量取了个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用一块内存空间。
引用的方法
类型& 引用变量名(对象名) = 引用实体;

int main()
{
	int a = 10;
	int b = a;
	return 0;
}
在这串代码中,首先给a开辟了一块空间,但接着b=a,又给b开辟了一块空间,因此不是引用

int main()
{
	int a = 10;
	int &b = a;
	return 0;
}
但是在这串代码中,相当于没有给b开空间,只是a的别名,是引用,代表b引用了a
此时修改a,b会被修改,修改b,a也会被修改,即共用一个空间

注意:
	不能跨类型引用
	同一个变量不能引用多个引用实体
常引用
void TestConstRef()
{
	const int a = 10;
	const int& b = a;
}
引用的用法
int main()
{
	int a = 1;
	int &b = a; //变量的引用

	int *ptr = &a;
	int *&q = ptr; //指针的引用

	int ar[10] = {1, 2, 3, 4, 5, 6, 7, 8, 8, 10};
	int (&br)[10] = ar; //数组的引用
}
在这个交换ab数值的代码中,由于xy是ab的别名,所以在Swap函数中便相当于直接在操作
ab两个变量
void Swap(int &x, int &y)
{
	int tmp = x;
	x = y;
	u = tmp;
}
int main()
{
	int a = 10;
	int b = 20;
	cout<<"a = "<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/433441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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