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

C++的函数重载和引用

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

C++的函数重载和引用

函数重载

2.1、什么是函数重载?
定义:其实就是为了方便为了简洁程序,使用同一个名字的函数,就叫做重载,C语言不允许定义同名函数,但是C++可以,而且最重要的是,不看返回值,只看参数的类型,个数.
例:

void f(int a,int b,int c = 1)
{}
void f(int a, int b)
{}

此函数虽然构成重载,但是在调用的时候,如果输入 f(1,2,3)是指定没问题的,它会调用第一个函数,但是当输入 f(1,2)它就不知道调用哪一个会出现错误,因为,编译器不知道是调用第一个函数使得默认c=1,还是调用第二个函数,就只有两个参数.

引用

定义
就是在本来存在的变量前面加一个&
引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。

int main()
{
	int a = 10;
	//b是a的别名,b是a的引用
	int& b = a;
	b = 20;//a也就改了
	printf("%dn",a);//20
}

引用和指针的区别
a:引用必须初始化,必须在定义引用时明确引用是哪个变量或者对象,否则语法错误。指针不是必须初始化,指针不初始化,会指向随机值。
b:引用一旦定义时初始化指定,就不能被修改,指针可以改变指向。
c:引用不能出现空引用,即不存在指向空值的引用,而指针可以指向空
d:一个引用可以看作变量或对象的别名。
e:引用表面是在传值,其本质也是在传地址,只是这个工作由编译器来做,指针也是传地址。
f:函数参数的声明可以为引用或指针类型。
g:可以删除空指针,但不能删除引用,因为引用是别名,删除引用就是删除真实对象。

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

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

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