读书人

用枚举、const、内联函数顶替宏会不会

发布时间: 2013-07-08 14:13:00 作者: rapoo

用枚举、const、内联函数代替宏会不会减慢程序的运行速度?
很多企业的编码规范提倡用枚举、const、内联函数代替宏,这样会使程序运行速度降低吗?
毕竟变量需要地方来存储,函数的调用也会有开销,但宏就没有这些
[解决办法]
这点开销可以忽略不计
[解决办法]
这种开销微不足道
[解决办法]
可以去看一下 effective c++, 有一节讲到。
[解决办法]
正常情况下不会,编译器有个功能叫优化。优化过程会删除或合并源码中无意义的操作。
[解决办法]
在效率上,枚举和宏完全等价
在效率上,可用宏代替的const常量都会被编译器优化
在效率上,内联函数不会被调用

大多数时候,程序员只需要做好算法层面的优化就可以了,语句层面的优化编译器比程序员更擅长
非要追求极限效率的时候,根本不用优化什么语句,直接上内联汇编吧

读书人网 >C++

热点推荐