宏和内联函数(inline)的共同点

宏:

1.定义变量的时候,可以增加代码的通用性,定义在头文件中,如果修改变量只需要在头文件中修改,而不需要在程序中全部修改;

2.定义函数时,宏也可以写成带参函数的形式:#define add(x,y) x+y,普通函数会在运行时被调用执行栈的进出,增加了开销,这样的宏定义就可以提高执行效率(预处理器处理,编译器处理之前进行)。

内联函数:

区别上面宏定义中的带参函数的形式,引入内联函数的目的也为了提高函数在程序中调用的效率,如果编译器接受指定某函数为内联函数,那么它就会在编译时期把调用内联函数的部分全部替换成内联函数的函数体,而不是像普通函数等到执行时才会调用,这样就节省了程序执行时间。相比较与宏的带参函数定义,内联函数有类型检测更加安全,且可以调试。

posted @ 2022-01-05 11:00  QZ-CMD  阅读(47)  评论(0编辑  收藏  举报