内联(inline) (预处理阶段) : 自动依据性能问题选择使用函数还是宏
替代有参宏
内不内联由编译器决定
debug不内联,release才内联
实现代码必须放在头文件中,编译器会忽略inline的重包含问题
什么时候使用内联: 实现比较简单的时候
多态: 函数重载, 编译器多态 ambignous(注意二义性)
条件:
在相同的作用域
函数名相同
参数个数, 类型, 类型顺序不同
返回值不作参考
注意:
typedef不做参考
TYPE&和TYPE能构成重载,但是调用时会有二义性
const TYPE 和TYPE不做参考
const TYPE * 和 TYPE* 构成重载
实现:名称粉碎(undname -f)
作用域
函数名
参数列表
返回值