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

【引用技术】

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

【引用技术】

引用
  • 一、C++里的引用技术
  • 二、使用
    • 1.语法
    • 2.注意事项
    • 3.特点
    • 4.使用场景:函数里的参数
    • 5.引用的本质

一、C++里的引用技术 概念:引用是创建一个变量的引用名称 二、使用 1.语法

数据类型& 变量名称{引用对象的名称}

int a{500};
int& b{ a };

b = 5200;
相当于a = 5200;
特点:
引用一定要初始化,否则编译器会报错!

2.注意事项

(1)赋值问题

(2)数据类型和引用类型要一致

int main(int argc, char* argv[])
{
	const int a = 1;
	const int& c{ a };
	int b{ 255 };
	int& d{ b };
	d = a;//b = a;
}
3.特点
  • 可以用.代替指针的->
  • 传递参数前不需要用取址运算符&,传递参数后不需要用*运算符就可以赋值
4.使用场景:函数里的参数
int Add(int& a, int& b) {
	a *= 10;
	return a + b;
}

void Cout(int num) {
	std::cout << num << std::endl;
}
int main(int argc, char* argv[])
{
	int a = 1, b = 2;
	Cout(Add(a, b));
}
5.引用的本质

一种被阉割了的指针,虽然我们取址引用变量得到的是原值的内存地址,但是引用变量也是占用内存的

	int a = 5;
00F94B38 C7 45 F8 05 00 00 00 mov         dword ptr [ebp-8],5  
	a = 5;
00F94B3F C7 45 F8 05 00 00 00 mov         dword ptr [ebp-8],5  
	int& b = a;
00F94B46 8D 45 F8             lea         eax,[ebp-8]  
00F94B49 89 45 EC             mov         dword ptr [ebp-14h],eax  
	int& c = a;
00F94B4C 8D 45 F8             lea         eax,[ebp-8]  
00F94B4F 89 45 E0             mov         dword ptr [ebp-20h],eax  
	int* d = &a;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/630293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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