niusouti.com

下列关于模板的叙述中,错误的是( )。A.调用模板函数时,在一定条件下可以省略模板实参B.可以用int、double这样的类型修饰符来声明模板参数C.模板声明中的关键字class都可以用关键字typename替代D.模板的形参表中可以有多个参数

题目

下列关于模板的叙述中,错误的是( )。

A.调用模板函数时,在一定条件下可以省略模板实参

B.可以用int、double这样的类型修饰符来声明模板参数

C.模板声明中的关键字class都可以用关键字typename替代

D.模板的形参表中可以有多个参数


相似考题
参考答案和解析
正确答案:C
解析:此题考查的是模板的概念。模板的一般说明形式如下: template类型形参表函数返回值类型函数名(形参表){函数体}。其中的模板形参表声明是由一个或多个模板形参组成(如果是多个,需要用逗号隔开)。参数在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板形参,但是可以为类模板的参数设置默认值。关键字class除了能用来定义类以外,还能用来声明模板的虚拟类型参数,在用作声明虚拟类型参数时,typename与class可以互换,但不能使用typename来定义类;在模板形参表中除了可以用typename和class声明虚拟类型参数外,还可以使用普通类型声明常规函数。
更多“下列关于模板的叙述中,错误的是( )。A.调用模板函数时,在一定条件下可以省略模板实参B.可以用int ”相关问题
  • 第1题:

    下列关于模板的描述中,错误的是( )。

    A.类模板的成员函数都是模板函数

    B.函数模板是一种参数化类型的函数

    C.满足一定条件时可以省略模板实参

    D.模板形参只能由关键字typename声明


    正确答案:D
    D。【解析】template<typename(或class)数据类型参数标识符>。

  • 第2题:

    关于在调用模板函数时模板实参的使用,下列表述中正确的是( )。

    A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略

    B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略

    C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略

    D.对于常规参数所对应的模板实参,任何情况下都不能省略


    正确答案:D
    在调用一个模板函数时,编译系统需要足够的信息来判别每个虚拟类型参数所对应的实际类型,可以从两个不同的渠道获得这样的信息:从模板实参表(用“<>”括起来的参数表)或从模板函数实参表(用“”括起来的参数表)。如果从后者获得的信息已经能够判定其中部分或全部虚拟类型参数所对应的实际参数,而且它们又正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略。如果模板实参表中的实参都被省略了,则空表“<>”也可以不要,因此选项D错误。反之,对于某个模板实参,如果从模板函数的实参表中无法获得同样的信息,就不能省略;或者虽然能够获得同样的信息,但在它后面还有其他不能省略的实参,则其自身还是不能省略。

  • 第3题:

    下列关于模板的叙述中,错误的是:

    A.模板声明中的第一个符号总是关键字template

    B.在模板生命中用<>括起来的部分是模板的形参表

    C.类模板不能有数据成员

    D.在一定条件下函数模板的实参可以省略


    C 解析:C++中有两类模板:类模板和函数模板。类模板中可以有数据成员,所以选项C)错误。

  • 第4题:

    下列关于模板的叙述中,错误的是

    A.调用模板函数时,在一定条件下可以省略模板实参

    B.可以用int、double这样的类型修饰符来声明模板参数

    C.模板声明中的关键字class都可以用关键字typename替代

    D.模板的形参表中可以有多个参数


    正确答案:C
    解析:在有typename的地方可以用class来代替,但是在有class的地方不一定能用typename代替,如:
      Templaeclass类型参数>class类名{ }后面的那个class是不能用typename代替的。

  • 第5题:

    下列关于模板的叙述中,错误的是

    A.模板声明中的第一个符号总是关键字template

    B.在模板声明中用<和>括起来的部分是模板的形参表

    C.类模板不能有数据成员

    D.在一定条件下函数模板的实参可以省略


    正确答案:C
    解析:本题考核模板的概念。函数模板的一般说明形式如下:template类型形参表>返回类型>函数名>(形参表>){函数体>},所以A、B选项的描述是正确的。在一定条件函数模板的实参可以省略。所以C选项的描述是错误的。