C++【函数(重载/缺省参数/哑元/内联)】

1.重载

在同一个作用域中函数名相同但参数表不同的函数构成重载关系。

1)C++是通过换名,即将参数表信息汇合到函数名中,实现重载。通过在函数声明前写上
extern "C"
显式地告知编译器对该函数用C的方式生成接口,即不做换名。当然不换名的函数无法实现重载。
2)函数重载不仅和函数的定义有关,而且与函数调用的上下文有关,只要在同一个作用域中可见,且需要通过重载解析规则确定调用版本,即具有重载特性。
2.缺省参数
1)如果提供实参,取实参的值,否则取缺省值。
2)如果某个参数带有缺省值,那么它后面的所有参数必须都带有缺省值——靠右原则。
3)注意防止和重载发生冲突。
3.哑元
只有类型而没有名称的参数。
本身没有参数但是又需要通过重载区分不同实现版本的函数,往往会用到哑元。
向下兼容。
4.内联
1)内联是一种优化策略,用编译好的函数二进制代码去替换对该函数的调用,通过牺牲空间换取执行时间。
2)通过inline关键字显式地告诉编译器该函数希望被内联优化。
inline void foo (...) { ... }
对于稀少调用的复杂大函数,递归函数,虚函数,编译会拒绝做内联。
3)结构体/类的声明和定义如果放在一起,其成员函数缺省为内联,可以省略inline关键字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值