首页 > 试题广场 >

关于内联函数说法错误的是:

[单选题]
关于内联函数说法错误的是:
  • 不是任何一个函数都可定义成内联函数
  • 内联函数的函数体内不能含有复杂的结构控制语句
  • 递归函数可以被用来作为内联函数
  • 内联函数一般适合于只有1~5行语句的小函数
 一般来说,内联机制用于优化规模较小,流程直接,频繁调用的函数。很多编译器都不支持内联递归函数,而且一个75行的函数也不大可能在调用点内联的展开。      ————C++ primer (page 241).
发表于 2017-08-22 20:45:04 回复(0)
内联函数是使用inline关键字声明的函数,也成内嵌函数,它主要的作用是解决程序的运行效率。
使用内联函数的时候要注意:
1.递归函数不能定义为内联函数
2.内联函数一般适合于不存在while和switch等复杂的结构且只有1~5条语句的小函数上,否则编译系统将该函数视为普通函数。
3.内联函数只能先定义后使用,否则编译系统也会把它认为是普通函数。
4.对内联函数不能进行异常的接口声明。
发表于 2015-10-16 14:20:03 回复(0)
内联函数主要用来提高程序的运行效率,递归函数如果用内联函数的话,会使代码变得很长,从而无限循环嵌套。
发表于 2016-05-20 12:41:33 回复(0)
关于内联函数: 1、inline只影响函数在源码文件里面的编译行为,所以inline放在函数声明的位置没有意义,甚至可能引起编译错误。 2、inline只是程序员给编译器的一个建议,是否将函数内联取决于编译器的判断。内联函数类似于宏,在编译期间就展开。而递归函数在执行过程中才知道要运行多少次,所以递归函数不会被作为内联函数。
编辑于 2017-05-14 12:30:06 回复(0)
内联函数在编译阶段会在调用的地方扩展,递归调用无法扩展,因为根本不知道要扩展多少次.
发表于 2017-05-08 20:25:40 回复(0)
递归函数为毛线不能定义为inline,能否定义为inline和函数的实现有半毛钱关系,我靠
发表于 2016-08-06 16:34:30 回复(1)

对于一个含有许多语句的大函数,函数调用和返回的开销相对来说微不足道,所以也没有必要用内联函数实现。调用
发表于 2018-03-23 20:11:17 回复(0)
1.递归函数不能定义为内联函数
2.内联函数一般适合于不存在while和switch等复杂的结构且只有1~5条语句的小函数上,否则编译系统将该函数视为普通函数。
3.内联函数只能先定义后使用,否则编译系统也会把它认为是普通函数。
4.对内联函数不能进行异常的接口声明。
发表于 2017-09-06 10:11:30 回复(0)
内联函数主要用于替换宏定义的机械性复制问题。
例如:(++a)>b?(++a):b使用宏定义就会出现问题。
发表于 2016-07-23 16:28:28 回复(0)
C
发表于 2015-11-27 13:18:07 回复(0)