内联函数inline
函数的作用:
避免重复制造轮子,避免重复多次写相同的代码。
函数的缺点:
每调用一次函数,就会为这个函数分配一个“栈”,在计算机底层做很多准备工作(保护原来的执行环境,切换到新的执行环境),有一定的“时间开销”。
解决方案:
使用内联函数。
内联函数:
当编译器在编译时,如果遇到内联函数,就会直接将整个函数体的代码插入”调用处”,就相当于内联函数的函数体,在调用处被重写了一次。从而避免函数调用的开销,获得更快的时间。
内联函数的缺点:
使调用内联函数的程序变得“臃肿”,消耗调用函数的“栈”空间。
内联函数的用法:
inline int add(int a, int b) { return a + b; }
内联函数的使用场合:
- 内联函数中的代码应该只是很简单、执行很快的几条语句。
- 这个函数的使用频度非常高,比如在一个循环中被千万次地使用。
数的定义(即整个数体),而不能只出现内联函数的声明。