原因:对于函数的调用,开销较大,但是使用inline内联的时候,调用函数的时候,编译器会将代码副本展开到函数调用处,所以,这样子程序的代码规模会比较大,但是能减少函数调用开销,提高性能。
a.由程序员在函数中加inline关键字,是“建议”编译器将函数内联,编译器保留是否内联的最终权利,一般较小的函数,编译器给予内联,编译器有时忽略inline,不给于内联。
b.对内联函数的任何修改,都需要重新编译客户端中的代码。
理解:程序的编译和链接过程,是通过各个部分的编译之后,生成目标模块,再进行链接。①内联函数模块+②客户端模块(含内联函数调用)->链接->exe
内联函数被修改,客户端中展开的内联函数代码需要修改,才能正确链接。