浅谈C++内联函数
来源:互联网 发布:数据库 er设计 编辑:程序博客网 时间:2024/06/05 11:04
定义:
内联函数(Inline Function)指在函数调用处直接嵌入函数体的函数。即在编译时将函数调用处用函数体替换,类似于C语言中的宏展开,又称内嵌函数或者内置函数。
指定方式:
在函数定义处(不是声明处)增加 inline 关键字。
类体内部定义的函数默认就是内联函数。在类体中定义的成员函数会自动成为内联函数,在类体外定义的不会(如果想让其成为内联函数则在外部定义时 增加inline关键字)。
优点:
消除函数调用的时空开销,提高效率。
缺点:
频繁的调用内联函数和宏定义容易造成代码膨胀,消耗更大的内存而造成过多的换页操作。
试用场景:
(1)一个函数不断被重复调用;(2)函数只有简单的几行,且函数不包含for、while、switch语句;
(3)类的声明和定义在同一文件。
内联函数和宏定义的区别:
(1)在预编译时期,宏定义在调用处执行字符串的原样替换。在编译时期,内联函数在调用处展开,同时进行参数类型检查或自动类型转换(同普通函数更)更安全可靠。
(2)内联函数首先是函数,可以像调用普通函数一样调用内联函数或是调试。而宏定义往往需要添加很多括号防止歧义,编写更加复杂且无法调试。
(3) 内联函数可以作为某个类的成员函数,这样可以使用类的保护成员和私有成员。而当一个表达式涉及到类保护成员或私有成员时,宏就不能实现了(无法将this指针放在合适位置)。
阅读全文
0 0
- 浅谈C++内联函数
- 浅谈C++内联函数
- C语言内联函数
- C++:内联函数
- C 内联函数
- c++-inline 内联函数
- C语言内联函数
- C++_inline内联函数
- 【C++】内联函数,inline
- C++---函数内联
- C 内联函数
- [C++]内联函数
- c/c++内联函数
- C++_内联函数
- c++inline内联函数
- C++:内联函数
- 【C++】内联函数
- C中的内联函数行为
- zookeeper安装启动
- hihoCoder:1039字符串消除(当你找不到自己错在哪里了,可以来我这里看一看)
- 如何转载别人的博客
- Quartz学习(2)
- 并查集-HDU 5606
- 浅谈C++内联函数
- Django网络框架使用(三)
- python笔记
- suse 12 配置ssh服务
- Android 注解
- 【连载】Dijkstra求最短路径算法设计—Java实现
- iptables进阶
- JAVA设计模式——命令模式
- Django 连接多数据库 配置