1. inline的函数定义
inline 内联函数:
使用inline定义的函数体,在调用inline函数的地方不再是 使用 函数的调用机制;
而至在 编译时, 直接把源码编译到调用处, 代码顺序执行,不在调用call,开辟栈空间。
inline 关键字放在函数声明处不会起作用:
inline void swap(int &a, int &b);void swap(int &a, int &b){ int temp = a; a = b; b = temp;}
inline 关键字应该与函数体放在一起:
void swap(int &a, int &b);inline void swap(int &a, int &b){ int temp = a; a = b; b = temp;}
2. inline 函数的效率
1. 采用内联函数可以有效避免函数调用的开销,程序执行效率更高。使用内联函数的缺点就是,如果被声明为内联函数的函数体非常大,则编译器编译后程序的可执行码将会变得很大。
2. 如果函数体内出现循环或者其它复杂的控制结构的时候,这个时候处理这些复杂控制结构所花费的时间远大于函数调用所花的时间,因此如果将这类函数声明为内联函数意义不大,反而会使得编译后可执行代码变长。3. 通常在程序设计过程中,我们会将一些频繁被调用的短小函数声明为内联函数。