内联函数和成员函数区别
来源:互联网 发布:淘宝短发模特 编辑:程序博客网 时间:2024/06/08 01:53
内联函数类似于C里边的宏,只是宏经常有一些不安全因素,比如 宏定义 add() 是 a+b,调用的时候宏定义直接展开,不做任何的判断,如果调用res = add()*c; 得到的代码就是res = a+b*c;不是想要的结果。
内联函数可以理解成一个安全的宏定义,他就是一个真正的函数,只是不用压栈出栈,速度快,而且比宏定义安全,所以利用 短且频率 比较高的函数可以写成内联函数inline。
内联函数在编译时,会将此内联函数代码直接编译到调用函数之处。减少了一次函数调用时的跳转、数据压栈等操作。所以相比调用行数,内联函数的执行效率要相对高点。不过也正因为如此,所以最终生成的程序文件要稍微大点。
1.内联函数可减少cpu的系统开销,并且提高整体程序的速度,但当内联函数很大时,会有相反的作用,因此一般比较小的函数才使用内联函数。
2.有两种内联函数的声明方法,一种是在函数前使用inline关键字;另一种是在类的内部定义函数的代码,这样的函数将自动转换为内联函数,而且没必要将inline放在函数前面。
3.内联是一种对编译器的请求,像register说明符一样。下面这些情况会阻止编译器服从这项请求.如果函数中包含有循环,switch或goto语句,递归函数,含有static的函数.
0 0
- 内联函数和成员函数区别
- 内联函数和成员函数区别
- 内联函数和成员函数区别
- 内联函数和成员函数区别
- 内联成员函数和重载成员函数
- 普通成员函数和内联函数调用区别(内含函数调用过程)
- 内联和虚函数区别
- 内联成员函数
- 默认内联成员函数
- 内联成员函数
- c++ 内联成员函数
- 内联成员函数
- 全局函数、成员函数和内联函数的总结
- 内联函数 与 成员函数
- 内联函数和普通函数的区别
- 内联函数和普通函数的区别
- C++的内联函数和非内联函数的区别
- 内联成员函数与重载成员函数
- MySql基础-自定义函数(user-defined function,UDF)
- 为什么WiFi自动信道选到的信道多数在1/6/11
- cf475A Bayan Bus
- Ubuntu Manual Install OpenKinect
- 位运算实现加减乘除
- 内联函数和成员函数区别
- 超越lua的神语言
- 【读书笔记】软件测试技术大全:第4章 软件工程与软件测试
- cf475B Strongly Connected City
- OC中并发编程的相关API和面临的挑战(1)
- iOS中常用的四种数据持久化方法简介
- Linux 平台多线程编程实例
- Java内联函数
- git学习——远程分支