内联(inline)函数:
是C++为了提高程序运行速度所作的一项改进
与常规函数的区别不在于编写方式,而在于被调用时的运行机制不同
编译器使用函数代码替换函数调用
使用建议:如果执行函数代码的时间比处理函数调用机制的时间长,则节省的时间将只占整个过程的很小一部分,则不建议使用,如果执行代码时间很短,内联调用就可以节省大部分时间。用于类的存取比较多。
函数是一个可以重复使用的代码块,CPU会一条一条地挨个执行其中的代码,CPU在执行主调函数代码时如果遇到了被调函数,主调函数就是暂停,CPU转而执行被调函数的代码,被调函数执行完毕后在返回到主调函数,主调函数根据刚才的状态就像向下执行
一个C/C++程序的执行过程可以认为·是多个函数之间的相互调用过程,它们形成一个或简单或复杂的调用链条,这个链条的起点是main(),终点也是,当main()调用完了所以的函数,就会返回一个值来结束自己的生命,
函数调用是有时间和空间开销的,程序在执行一个函数之前需要做一些准备工作,要将实参、 局部变量等等压入栈中,然后才能执行函数体中的代码,然后清理现场,出栈等等。
如果函数体代码比较多,需要较长的执行时间,那么函数调用占用的时间可以忽略
如果函数只有一两条语句,那么大部分时间就花费在函数调用机制上,这种时间开销就不能忽略,需要用到内联函数
声明方法:
在函数声明前加关键字inline : inline int pow(int,int)
{
}
在函数定义前加关键字inline : inline int pow(int,int);//在此处添加有效