C++语言程序设计

内联函数有哪些特点?

题目

内联函数有哪些特点?

参考答案和解析
正确答案: 编译器在编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销;
内联函数体内不能有循环语句和switch语句;
内联函数的定义必须出现在内联函数第一次被调用之前;
对内联函数不能进行异常接口声明。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

成员函数体写在类外部的一定不是内联函数,写在类内部的一定是内联函数。()


参考答案:错误

第2题:

SQLServer 2008允许用户自己定义函数。关于内联表值函数,有下列说法:Ⅰ.在内联表值函数中,没有相关联的返回变量Ⅱ.内联表值函数通过INSERT语句填充函数返回的表值Ⅲ.内联表值函数的作用类似于带参数的视图Ⅳ.调用内联表值函数时,只能将内联表值函数放置在FROM子句中上述说法中正确的是( )。

A.仅Ⅱ

B.仅Ⅱ和Ⅲ

C.仅Ⅰ、Ⅱ和Ⅳ

D.仅Ⅰ、Ⅲ和Ⅳ


正确答案:D
内联表值函数的返回值是一个表,该表的内容是一个查询语句的结果;内联表值函数的使用与视图非常相似,需要放在查询语句的FROM子句中,作用很像是带参数的视图;内联表值函数通过SELECT语句填充函数返回的表值。

第3题:

( 11 )下列有关内联函数的叙述中,正确的是

A )内联函数在调用时发生控制转移

B )内联函数必须通过关键字 inline 来定义

C )内联函数是通过编译器来实现的

D )内联函数函数体的最后一条语句必须是 return 语句


正确答案:C

第4题:

当需要将一个函数boolisnunlber(charc)声明为内联函数时,此内联函数的函数原型为( )。

A.enumboolisnumber(charc);

B.defineboolisnumber(charc);

C.inlineboolisnumber(charc);

D.extemboolisnumber(charc);


正确答案:C
C。【解析】本题考查内联函数的相关知识点。函数原型应指出函数名、返回值类型以及在调用函数时提供的参数的个数和类型,因为要声明为内联函数,故应加inline关键字。

第5题:

下列说法正确的是( )。 A.内联函数在运行时将该函数的目标代码插入每个调用该函数的地方

下列说法正确的是( )。

A.内联函数在运行时将该函数的目标代码插入每个调用该函数的地方

B.内联函数在编译时将该函数的目标代码插入每个调用该函数的地方

C.类的内联函数必须在类体内定义

D.类的内联函数必须在类体外通过加关键字inline定义


正确答案:B
B。【解析】本题考查的是内联函数的定义,引入内联函数是为了解决程序中函数调用的效率问题,是以目标代码的增加为代价换取时间的节省;一般函数在运行时被调用,而调用的内联函数在编译时就被替代了,如果不加in-line关键字,则编译器会将在类说明部分定义的任何函数都被认定为内联函数。

第6题:

关于内联函数的说法,不正确的是( )。

A.在说明类的同时定义成员函数,则函数隐含为内联函数

B.也可在类外用inline关键字对成员函数进行说明,则该函数也为内联函数

C.当内联函数被调用时,内联函数的代码在调用处被展开

D.当内联函数被调用时,内联函数将返回结果


正确答案:D
解析:内联函数被调用时,只是把代码在被调用处展开,不是把函数的运算结果返回。

第7题:

将“引用”作为函数参数有哪些特点?


正确答案:

 

(1)传递引用给函数与传递指针的效果是一样的。
这时,被调函数的形参就成为原来主调函数中的实
参变量或对象的一个别名来使用,所以在被调函数
中对形参变量的操作就是对其相应的目标对象(在
主调函数中)的操作。
(2)使用引用传递函数的参数,在内存中并没有
产生实参的副本,它是直接对实参操作;而使用一
般变量传递函数的参数,当发生函数调用时,需要
给形参分配存储单元,形参变量是实参变量的副
本;如果传递的是对象,还将调用拷贝构造函数。
因此,当参数传递的数据较大时,用引用比用一般
变量传递参数的效率和所占空间都好。
(3)使用指针作为函数的参数虽然也能达到与使
用引用的效果,但是,在被调函数中同样要给形参
分配存储单元,且需要重复使用"*指针变量名"的形
式进行运算,这很容易产生错误且程序的阅读性较
差;另一方面,在主调函数的调用点处,必须用变
量的地址作为实参。而引用更容易使用,更清晰。

第8题:

下列有关内联函数的描述中,错误的是()。

A.内联函数必须在定义处加上inline关键字,否则就是普通的函数

B.内联函数必须是一个小函数,不能包含循环、switch等语句

C.一个函数中如果包含循环、switch等语句,则将其定义为内联函数时编译器会报错

D.在编译程序时,系统会直接将调用内联函数的地方用内联函数中的语句体做等价替换,从而省去运行程序时函数调用所额外消耗的时间


正确答案:C

第9题:

静态成员函数不能说明为

A.整型函数

B.常函数

C.虚函数

D.内联函数


正确答案:C
解析:静态函数不能说明为虚函数。

第10题:

当需要将一个函数bool isnumber(char C.声明为内联函数时,则此内联函数的函数原型为( )。


正确答案:C

更多相关问题