程序设计教程

为什么一般把内联函数的定义放在个头文件中?

题目

为什么一般把内联函数的定义放在个头文件中?

参考答案和解析
正确答案:为了防止同一个内联函数的各个定义之间的不一致,往往把内联函数的定义放在某个头文件中,在需要使用该内联函数的源文件中用文件包含命令#include把该头文件包含进来。由于内联函数名具有文件作用域,因此,不会出现重复定义问题。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在函数定义前加上关键字“inline”表示该函数被定义为()。

A.重载函数

B.内联函数

C.成员函数

D.自定义函数


正确答案:B

第2题:

在函数定义前加上关键字"inline",表示该函数被定义为()。

A、重载函数

B、友元函数

C、内联函数

D、成员函数


参考答案:C

第3题:

● 以下关于程序中函数的定义、调用和声明的叙述中,正确的是 (42) 。

(42)

A. 函数的定义必须放在该函数的调用之前

B. 函数的声明必须放在该函数的调用之前

C. 函数的定义必须放在该函数的声明之前

D. 函数的声明必须放在该函数的定义之前


正确答案:B

第4题:

strlen()库函数与stdio.h头文件问题?

strlen()是一个计算字符串长度的这么一个库函数,这个库函数是定义在string.h这个头文件里的,要想使用这个库函数就必须调用预处理命令将string.h添加到当前的代码中,可是为什么在调用string.h这个头文件的基础上还要调用stdio.h这个头文件呢?stdio.h只是一个输入输出函数的这么一个头文件,跟strlen()库函数有什么关系,,,求解。


stdio.h是标准输入输出,C语言本身不包括输入输出函数,如:printf,scanf等等,这些C语言本身并没有包含这些函数,所以就要加stdio.h库函数,里面就有了这些输入输出函数的声明;而strlen函数在包含在string.h中的,所以两者没有任何关系,而你所提的问题,是由于你的程序代码中使用了一些C语言没有提供的函数,但是这些函数又恰好是stdio.h中所包含的,故一定得包含stdio.h头文件,否则无法运行

1、stdio.h是标准输入输出,C语言本身不包括输入输出函数
如:printf,scanf等,这些C语言本身并没有包含这些函数,所以就要加stdio.h库函数,里面就有了这些输入输出函数的声明

2、strlen函数在包含在string.h中的,所以两者没有任何关系,而你所提的问题,是由于你的程序代码中使用了一些C语言没有提供的函数,但是这些函数又恰好是stdio.h中所包含的,所以一定得包含stdio.h头文件,否则无法运行


stdio.h是标准输入输出,C语言本身不包括输入输出函数,如:printf,scanf等等,这些C语言本身并没有包含这些函数,所以就要加stdio.h库函数,里面就有了这些输入输出函数的声明;
而strlen函数在包含在string.h中的,所以两者没有任何关系,而你所提的问题,是由于你的程序代码中使用了一些C语言没有提供的函数,但是这些函数又恰好是stdio.h中所包含的,故一定得包含stdio.h头文件,否则无法运行。

第5题:

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

A.仅Ⅱ

B.仅Ⅱ和Ⅲ

C.仅Ⅰ、Ⅱ和Ⅳ

D.仅Ⅰ、Ⅲ和Ⅳ


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

第6题:

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

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

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

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

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


正确答案:C

第7题:

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

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

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

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

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


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

第8题:

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

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

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

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

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


正确答案:C

第9题:

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

下列说法正确的是( )。

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

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

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

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


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

第10题:

在类中定义和实现的函数称为( )。

A.静态成员函数

B.内联函数

C.常成员函数

D.虚函数


正确答案:B

更多相关问题