C++内联函数的概念和语法是什么
导读:这篇文章给大家分享的是“C++内联函数的概念和语法是什么”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“C++内联函数的概念和语法是什么”吧。...
这篇文章给大家分享的是“C++内联函数的概念和语法是什么”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“C++内联函数的概念和语法是什么”吧。一、C++ 内联函数
1.内联
C 语言中有宏函数的概念。宏函数的特点是内嵌到调用代码中去,避免了函数调用的开销。但是由于宏函数的处理发生在预处理阶段,缺失了语法检测和有可能带来的语意差错。
2.语法
C++提供了 inline 关键字,实现了真正的内嵌。
宏函数 VS inline函数
#include iostream> #include string.h> using namespace std; //优点:内嵌代码,辟免压栈与出栈的开销 //缺点: 代码替换,易使生成代码体积变大,易产生逻辑错误,无类型检查 #define SQR(x) ((x)*(x)) //优点:高度抽象,避免重复开发,类型检查 //缺点: 压栈与出栈,带来开销 inline int sqr(int x) { return (x)*(x); } int main() { int i=0; while(i5) { printf("%d\n",SQR(i++)); printf("%d\n",i); printf("%d\n",sqr(i++)); printf("%d\n",i); } return 0; }
3.评价
引入内联函数的目的是为了解决程序中函数调用的效率问题,这么说吧,程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其他的函数,都是在运行时候才被替代。这其实就是个空间代价换时间的i节省。所以内联函数一般都是1-5行的小函数。在使用内联函数时要留神:
1.在内联函数内不允许使用循环语句和开关语句;
2.内联函数的定义必须出现在内联函数第一次调用之前;
3.类结构中所在的类说明内部定义的函数是内联函数;
总结
到此这篇关于“C++内联函数的概念和语法是什么”的文章就介绍到这了,感谢各位的阅读,更多相关C++内联函数的概念和语法是什么内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C++内联函数的概念和语法是什么
本文地址: https://pptw.com/jishu/654933.html