首页 > 试题广场 >

内联函数在以下场景中最有用的是?

[单选题]
内联函数在以下场景中最有用的()
  • 当函数代码较长且多层嵌套循环的时候
  • 当函数中有较多的静态变量的时候
  • 当函数代码较小并且被频繁调用的时候
  • 以上都不对
推荐
【正确答案】C
【解析】内联函数需要在函数声明和函数定义上都要加上 inline 关键字,编译器将使用相应的函数代码替换函数调用,程序不需要跳到另一个位置执行代码再跳回来。因为函数调用时候需要创建时间、参数传入传递等操作,造成了时间和空间的额外开销。
函数前加上 inline 关键字,编译器并不一定会将它作为内联函数。如果函数代码过多或者存在递归,编译器并不会进行内联,这时采用内联就不合适,可以使用宏函数。
 
内联函数知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp19
编辑于 2021-11-17 15:19:45 回复(0)
什么叫inline函数?
简单一句话,在函数声明或定义前加一个 inline 修饰符。 
inline int max(int a, int b) 

   return (a>b)? a : b; 
}
当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。这样做的好处是省去了调用的过程,加快程序运行速度。

内联函数的本质是,节省时间但是消耗空间
由于inline增加体积的特性,所以建议inline函数内的代码应很短小。最好不超过5行
内联函数体中,不能有循环语句、if语句或switch语句,否则,函数定义时即使有inline关键字,编译器也会把该函数作为非内联函数处理。 
发表于 2022-06-19 11:07:18 回复(0)
内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。 内联扩展是用来消除函数调用时的时间开销。它通常用于频繁执行的函数。 一个小内存空间的函数非常受益。
发表于 2017-02-23 07:14:39 回复(0)
C、
内联函数只适合于只有1~5行的小函数。对一个含有 许多语句的大函数 函数调用和返回的开销 相对来说微不足道,所以也没有必要用内联函数实现。
在内联函数内不允许用循环语句和开关语句。否则编译将该函数视同普通函数。

发表于 2015-03-27 10:11:35 回复(0)
C .    内敛函数不适于while switch 这样复杂结构,且语句最好在1-5条这样的小型函数上. 递归不能定义为内联.
发表于 2015-04-13 19:57:33 回复(0)
内联函数只适合于只有1~5行的小函数。对一个含有 许多语句的大函数 , 函数调用和返回的开销 相对来说微不足道,所以也没有必要用内联函数实现
发表于 2021-03-06 08:37:47 回复(0)
内联函数:以时间换取空间 适用于1-5行小代码,在编译时进行替换,不适合语句,如:开关语句switch与循环语句
发表于 2021-02-20 23:05:09 回复(1)