内联函数和宏定义的相关区别

内联函数和宏定义的区别

相同点 : 主要是为了避免被调用时的开销,是通过编译器来进行实现,而宏定义是通过预处理器进行替换,宏定义不检查函数参数,返回值等东西,只是展开,而相对来说,内联函数会进行检查参数类型,所以会更安全。

其中内联函数代码不能太多,不然的话编译器会将其认为是普通函数进行执行。

内联函数可以在类里面进行定义,这点宏定义是完全做不到的,即可以访问类的成员等东西

编译器会对内联函数进行安全性检查,而预处理器倒不会。

发布了367 篇原创文章 · 获赞 94 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/Giser_D/article/details/104335355