一、什么时候用内联函数
当代码较短,使用频率较高,程序频繁调用所花费时间较多,这时候定义内联函数。
内联函数每次调用都要嵌入整个代码中,增大了程序的大小,以空间换取了时间,如果内联函数太大,编译器不会认为是内联函数
二、代码
inline int max(int a, int b)
{
return a>b?a:b;
}
#define MAX(a,b) (a)>(b)?(a):(b)
三、内联函数和带参数的宏的区别:
1,内联函数进行参数类型检测,带参数的宏只是简单的替换。
2,内联函数在编译时,调用该函数,将其展开。而宏在预处理时进行替换。
3,C++建议使用inline函数替换带参数的宏。
使用场景:
常量(无参数的宏) const enum
带参数的宏 inline
低层次编程用左边一列,高层次编程用右边一列。