内联函数和宏定义的区别
相同点 : 主要是为了避免被调用时的开销,是通过编译器来进行实现,而宏定义是通过预处理器进行替换,宏定义不检查函数参数,返回值等东西,只是展开,而相对来说,内联函数会进行检查参数类型,所以会更安全。
其中内联函数代码不能太多,不然的话编译器会将其认为是普通函数进行执行。
内联函数可以在类里面进行定义,这点宏定义是完全做不到的,即可以访问类的成员等东西
编译器会对内联函数进行安全性检查,而预处理器倒不会。
2023-03-08 10:27:37 阅读次数:107
内联函数和宏定义的区别
相同点 : 主要是为了避免被调用时的开销,是通过编译器来进行实现,而宏定义是通过预处理器进行替换,宏定义不检查函数参数,返回值等东西,只是展开,而相对来说,内联函数会进行检查参数类型,所以会更安全。
其中内联函数代码不能太多,不然的话编译器会将其认为是普通函数进行执行。
内联函数可以在类里面进行定义,这点宏定义是完全做不到的,即可以访问类的成员等东西
编译器会对内联函数进行安全性检查,而预处理器倒不会。
上一篇:maven中使用jetty插件
下一篇:QT保留小数点后位数
文章
27958
阅读量
3554800