C++的内联函数和重载函数

内联函数

内联函数是C++语言为降低小程序用开销而采取的一种机制。

定义内联函数的方法是,在函数名第一次出现时,在函数名之前冠以关键字inline。通常在函数原型中指定。若已在函数原型中指定inline,则函数定义时不能重复给出。

内联函数原型为:inline 类型 函数名(形式参数表);

内联函数的调用方法与其他普通函数相同。

说明:

①若inline不在函数名第一次出现时指定,则编译器把它当做普通函数处理。

②一般内联函数只适合于1-5行的小程序。在内联函数中,不能含有复杂的流程控制语句。例如,不能含有多分支语句和循环语句,否则inline无效。

③递归函数不能说明为内联函数。

重载函数

C++语言允许定义多个重名函数,各个函数有不同的参数集,这些函数称为重载函数。编译器根据不同参数的类型和个数产生调用匹配。函数重载常用于生成几个类似任务而处理不同数据个数、类型的同名函数。

C++编译器只根据函数参数表(参数类型和个数)进行重载版本的调用匹配,函数返回值的内容不起作用。例如:

int average(int,int);

double average(int,int);

这两个不是重载函数,C++编译器认为函数重复说明。

例外,要注意重载函数中使用默认函数时可能产生的二义性。例如,若max重载函数定义为:

int max(int,int);

int max(int,int=0);

则调用max(5,3)

无法选择调用版本。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值