inline函数讲解
来源:互联网 发布:tomcat运行php 编辑:程序博客网 时间:2024/06/05 19:32
什么是inline函数:
inline函数是在编译时进行内联代码的替换,类似于宏,但与宏不同,inline函数节省了函数调用时地址切换所用的时间!由于inline函数是直接将函数调用为替换内联代码,所以增加了内存的消耗,(如果有10处存在该函数调用,那么将存在10处内联代码,这样便增加了内存的消耗)。
1,常规的内联函数实现:
inline int f(int x);
inline int f(int x){***************} //将函数声明和定义都添上inline
或者:inline int f(int x){*************} //直接将含有inline的定义替换掉上面的两行代码
2,类的内联函数:
class a
{
public:
int f(int x) {************} //f(x)自动变为类内联函数
}
或者:class a
{
public:
int f(int x);
}
inline int a::f(int x) {********************} //这种实现中,内联方法的声明和实现必须在一个文件中,
不可以这样写:class a
{public:
inline int f(int x);
} //声明在.h文件中
inline int f(int x) {***********} // 实现在.cpp文件中
出现这种原因是由于内联函数是内部链接性,在调用函数的文件里必须包含内联函数的定义,即内敛函数的定义必须对编译器是可见的,以便编译器能够在调用点内展开该函数的内联代码,此时,若仅有函数原型是不行的。所以类声明的头文件必须包含内联实现。(或者将内联实现写在另一个头文件中,然后调用函数的文件中包含这两个头文件)
注意:由于内联函数是内部链接性,所以可以把定义放在头文件中,但最好不要把普通的函数定义,或者普通类方法定义放在头文件中,这样容易造成多重定义(比如一个程序的两个文件同时包含该头文件)普通的函数或类方法的链接性是外部的,便违背了单定义原则!
- inline函数讲解
- inline的一些讲解
- Inline 函数
- Inline 函数
- inline函数
- inline 函数
- inline函数
- inline函数
- inline函数
- inline函数
- inline 函数
- inline函数
- inline函数
- inline函数
- inline函数
- inline 函数
- inline函数
- inline 函数
- MQ的工作原理--特点:异步,不丢包
- 监控 Linux 性能的 18 个命令行工具
- CMS的发展趋向
- 如何配置IIS服务器使用的中间证书( 微软 KB954755)
- snmp 卸载
- inline函数讲解
- 使用Windows剪贴板API
- 彻底搞清C/C++中一维数组,二维数组,指针,数组指针和指针数组以及指向指针的指针,行地址和列地址之间的关系
- 转储控制文件、数据文件、日志文件命令
- NYOJ286 动物统计
- pl/sql关于赋值的小小注意
- Sublime Text 2_vim配置及快键设置
- 如何让div横向排列
- (二十五)事务处理