C++之内联函数inline

时间:2020-12-09 01:32:23

        C++中,函数调用比求解表达式要慢很多。在函数调用过程中,调用前要先保存寄存器,并在返回时恢复,复制实参,程序还要转向一个新的位置执行。对于比较短的函数,可以考虑采用内联函数。内联函数采用inline声明,只要在原先定义的函数之前声明inline,就完成了内联函数的声明。内联函数只是在调用函数的地方将函数主体展开,可以避免函数调用带来的开销,但要记住内联函数主体不要超过5行,因为内联说明对于编译器来说只是一个建议,不是强制操作,代码一长,编译器会忽略这个建议。下面举个例子:

        #include<iostream>

        inline int max(int a, int b)

        {

             return a > b ? a : b;

        }

        int main()

        {

             std::cout << max(3, 4) << std::endl;

             return 0;

         }