C++中的外联函数有什么优点吗?为什么不都用内联函数呢?

2025-03-22 07:54:22
推荐回答(1个)
回答(1):

注使用内联函数应注意的事项

内联函数具有一般函数的特性,它与一般函数所不同之处只在于函数调用的处理。一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换。

在使用内联函数时,应注意如下几点: 

  1. 在内联函数内不允许用循环语句和开关语句。 如果内联函数有这些语句,则编译将该函数视同普通函数那样产生函数调用代码,递归函数(自己调用自己的函数)是不能被用来做内联函数的。内联函数只适合于只有1~5行的小函数。对一个含有许多语句的大函数,函数调用和返回的开销相对来说微不足道,所以也没有必要用内联函数实现。 

  2. 内联函数的定义必须出现在内联函数第一次被调用之前。 

  3. 本栏目讲到的类结构中所有在类说明内部定义的函数是内联函数。