下面说法正确的是( )。A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义

题目

下面说法正确的是( )。

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

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

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

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


相似考题
参考答案和解析
正确答案:B
解析: 内联函数用inline修饰,用于取代C语官中的宏定义。inline是个建议机制而不是强制机制,也就是说,程序员可以指定任意函数为inline函数,但是编译器会根据系统情况来决定是否将其inline处理。对于较大的函数,编译器往往会取消其inline特性。inline函数的特点之一就是执行速度快,他实质是在编译时将函数的目标代码插入到每个调用该函数的地方,从而没有出栈入栈、保护现场等开销,提高了效率。在类体内定义的成员函数,自动被编译器当做内联函数处理,在类体外定义的成员函数,如果用inline修饰,编译
更多“下面说法正确的是()。A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函 ”相关问题
  • 第1题:

    下面说法正确的是(54)。

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

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

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

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


    正确答案:B
    解析:本题考查内联函数的定义和特点。内联函数分为显式内联函数和隐式内联函数,其中显式内联函数是指在类声明的内部声明,而在类声明外部定义;隐式内联函数是指在类声明的内部定义的内联函数。内联函数是在类中加关键字inline定义的。由于函数的调用实际上是将程序执行顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保存的地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,影响了其执行效率。引入内联函数就是为了解决这一问题。内联函数在程序编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来进行替换,这种做法不会产生转去转回的问题,提高了程序的执行效率。但是由于在编译时将函数体中的代码替代到程序中,因此会增加目标程序代码量,进而增加空间开销,可见它是以增加空间开销为代价来换取运行时间的。

  • 第2题:

    下面说法正确的是 ______。

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

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

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

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


    正确答案:B

  • 第3题:

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

    下列说法正确的是( )。

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

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

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

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


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

  • 第4题:

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

    下列说法正确的是( )。

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

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

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

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


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

  • 第5题:

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

    下面说法正确的是( )。

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

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

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

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


    正确答案:B
    B。【解析】内联函数用inline修饰,用于取代C语言中的宏定义。inline是建议机制而不是强制机制,也就是说,程序员可以指定任意函数为inline函数,但是编译器会根据系统情况来决定是否将其inline处理。对于较大的函数,编译器往往会取消其inline特性。inline函数的特点之一就是执行速度快,其实质是在编译时将函数的目标代码插入到每个调用该函数的地方,从而没有出栈入栈、保护现场等开销,提高了效率。在类体内定义的成员函数,自动被编译器当做内联函数处理,在类体外定义的成员函数,如果用inline修饰,则编译器也认为是一种内联建议。