内敛函数和宏两者的相同之处是,在其出现的地方将代码替换,但是区别很大。
对于宏来说,C++中不赞成使用,除非程序中一定要使用宏时。宏只是在编译前(编译处理阶段)将程序中有关字符串替换成宏体,也不进行参数类型等的检查,容易出错。
对于内联函数来说,岂不是通过函数调用实现的,是在调用该函数的程序处将它展开,这是在程序的编译期间完成的,期间进行诸如类型检测等过程,减少了错误的发生。
在C++里面: 1) 宏尽量少用,或不用;
2)内联函数不宜过大,过复杂;
3)内联函数是建议性而非指令性的,过大过过复杂,会被系统忽略,而当成一般函数用了;
4)内联函数一般不要超过5行吗,而且经常要用时才声明称内联函数。