C++知识点11:内联函数

关键字:inline,写在函数定义体前(不是声明)
作用:解决程序运行效率,不需要调用函数而是将函数直接嵌入到目标函数处。内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。
运行时间:作用于程序编译的阶段,将函数直接嵌入到目标函数处

inline int max(int a,int b){
    return a>b?a:b
}

cout<<max(a,b)<<endl;

在编译的时候执行

cout<<a>b?a:b<<endl;

内联函数和宏替换的区别:
1.作用时间:内联函数在编译时展开,宏替换在预处理时展开
2.在编译的时候,内联函数直接被嵌入目标代码中去,而宏只是一个简单的文本替换
3.内联函数是函数:参数类型检查;在运行时可调试;访问类的成员变量;

猜你喜欢

转载自blog.csdn.net/htt789/article/details/81077451
今日推荐