niusouti.com

单选题下列关于模板形参的描述中,错误的是(  )。A 模板形参表必须在关键字template之后B 模板形参表必须用括弧( )括起来C 可以用class修饰模板形参D 可以用typename修饰模板形参

题目
单选题
下列关于模板形参的描述中,错误的是(  )。
A

模板形参表必须在关键字template之后

B

模板形参表必须用括弧( )括起来

C

可以用class修饰模板形参

D

可以用typename修饰模板形参


相似考题
更多“下列关于模板形参的描述中,错误的是(  )。”相关问题
  • 第1题:

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

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

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

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

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


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

  • 第2题:

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

    A )模板形参表必须在关键字 template 之后

    B )模板形参表必须用括弧 ( ) 括起来

    C )可以用 class 修饰模板形参

    D )可以用 typename 修饰模板形参


    正确答案:B

  • 第3题:

    如下函数模板: templateT square(T x){return x*x;} 其中T是( )。

    A.函数形参

    B.函数实参

    C.模板形参

    D.模板实参


    正确答案:C
    本题考查模板函数的基本概念,根据模板函数的定义,T是模板形参,所以答案为C。

  • 第4题:

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

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

    B.可以为类模板参数设置默认值

    C.类模板描述了一组类

    D.类模板中只允许有一个类型参数


    正确答案:D
    解析:类模板是一系列相关类的模板,类成员组成相同,成员函数的源代码形式相同,所不同的是所针对的类型。类模板的成员函数都是模板函数,在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板实参。但可以为类模板的参数设置默认值。由此可知应选D。

  • 第5题:

    有如下函数模板: template T souare(T x)(returll x * x;) 其中T是

    A.函数形参

    B.函数实参

    C.模板形参

    D.模板实参


    正确答案:C
    解析:函数模板定义的一般格式为:
      Templatetypename类型参数>返回类型 函数名(模板形参表){函数体}

  • 第6题:

    下列关于模板形参的描述中,错误的是

    A.模板形参表必须在关键字template之后

    B.模板形参表必须用小括号()括起来

    C.模板形参表必须用小括号()括起来

    D.可以用typename修饰模板形参


    正确答案:B
    解析:对函数模板,模板的一般格式为:
      templatetyname类型参数>函数类型函数名(形参){函数体}
      对类模板,一般格式为:
      templateclass类型参数>class类名{……},类型参数是用一对>括起来。

  • 第7题:

    如下函数模板: template<Class T>T square(T x){return x*x;} 其中T是( )。

    A.函数形参

    B.函数实参

    C.模板形参

    D.模板实参


    正确答案:C
    本题考查模板函数的基本概念,根据模板函数的定义,T是模板形参,所以答案为C。

  • 第8题:

    有如下函数模板:templateT square (Tx) {return x*x;)其中T是()A.函数形参B.函数实参C.

    有如下函数模板: template<class T>T square (Tx) {return x*x;) 其中T是( )

    A.函数形参

    B.函数实参

    C.模板形参

    D.模板实参


    正确答案:C
    解析:此题考查的是函数模板。声明一个函数模板的格式是:
      template模板形参表声明>函数声明,{函数体}
      其中的模板形参表声明>是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:typename参数名;class参数名;类型修饰参数名。

  • 第9题:

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

    • A、模板可以是空白的
    • B、模板适合于任何场合
    • C、模板中可以包含图片、文字等多种素材
    • D、模板文件的编辑与普通网页的编辑相同

    正确答案:B

  • 第10题:

    关于函数参数传递方向下列说法错误的是()

    • A、形参传给实参
    • B、实参传给形参
    • C、双向传递
    • D、不能传递

    正确答案:A,C,D

  • 第11题:

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

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

    B

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

    C

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

    D

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


    正确答案: A
    解析:
    同一模板的声明和定义中,模板形参的名字不必相同。每个模板类型形参前面必须带上关键字typename/class,每个非模板类型形参前面必须带上类型名字。

  • 第12题:

    单选题
    下列关于模板的描述错误的是()。
    A

    模板可以是空白的

    B

    模板适合于任何场合

    C

    模板中可以包含图片、文字等多种素材

    D

    模板文件的编辑与普通网页的编辑相同


    正确答案: A
    解析: 暂无解析

  • 第13题:

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

    A )从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准

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

    C )虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参

    D )模板参数表不能为空


    正确答案:B

  • 第14题:

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

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

    B )可以为类模板参数设置默认值

    C )类模板描述了一组类

    D )类模板中只允许有一个类型参数


    正确答案:D

  • 第15题:

    有如下函数模板:templateT square(T x){return x*x;}其中T是A.函数形参B.函数实参C.模

    有如下函数模板:template<class T>T square(T x){return x*x;}其中T是

    A.函数形参

    B.函数实参

    C.模板形参

    D.模板实参


    正确答案:C
    解析:本题考查的知识点是:函数模板。声明一个函数模板的格式是:
    template模板形参表声明>>函数声明>
    其中的模板形参表声明>是由一个或多个模板形参>组成。每个模板形参>具有下面几种形式:
    (1)typename参数名>
    (2)class参数名>
    (3)类型修饰>参数名>
    由此可见,题中的T是模板形参。故本题应该选择C。

  • 第16题:

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

    A、类模板的成员函数可以是函数模板

    B、类模板生成模板类时,必须指定参数化的类型所代表的具体类型

    C、定义类模板时只允许有一个模板参数

    D、类模板所描述的是一组类


    参考答案:C

  • 第17题:

    下列关于模板形参的描述中,错误的是

    A.模板形参表必须在关键字template之后

    B.模板形参表必须用括弧()括起来

    C.可以用class修饰模板形参

    D.可以用typename修饰模板形参


    正确答案:B
    解析:模板参数位于函数模板名称的前面,在一对尖括号内部进行声明,如:template<typename T>//T是模板参数在函数模板内部,不能指定缺省的模板实参。根据以上定义可知选项B)是错误的。

  • 第18题:

    关于关键字class和typename,下列表述中正确的是( )。 A. 程序中的typename都可以替换为classS

    关于关键字class和typename,下列表述中正确的是( )。

    A. 程序中的typename都可以替换为class

    B.程序中的class都可以替换为typename

    C.在模板形参表中只能用{ypename来声明参数的类型

    D.在模板形参表中只能用class或typenanle来声明参数的类型


    正确答案:A
    程序中的typename都可以替换为class,但程序中的class不可以全部替换为typename。在模板类型形参中除了typename和class以外,也可以用常规类型来声明参数的类型,所以C、D选项错误。

  • 第19题:

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

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

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

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

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


    正确答案:C
    解析:类模板可以有自己的数据成员,例如templateclassT>。

  • 第20题:

    下列关于函数模板实参不能省略的情况说明不正确的是

    A.从模板函数实参表获得的信息有矛盾

    B.需要获得特定类型的返回值,而不管参数的类型如何

    C.虚拟类型参数没有出现在模板函数的形参表中

    D.函数模板不含有常规形参


    正确答案:D

  • 第21题:

    以下关于形参或实参的叙述中,错误的是()。

    • A、实参可以是常量、变量或表达式
    • B、形参可以是任意类型
    • C、形参可以是常量、变量或表达式
    • D、实参应与其对应的形参类型一致

    正确答案:C

  • 第22题:

    单选题
    下列关于函数模板的描述中,错误的是(  )。
    A

    从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准

    B

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

    C

    虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参

    D

    模板参数表不能为空


    正确答案: C
    解析:
    在调用一个模板函数时,如果编译系统能够从模板实参表判断其中或全部虚拟类型参数对应的实际参数,而且它们正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略,因此模板参数表可以为空。

  • 第23题:

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

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

    B

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

    C

    类模板不能有数据成员

    D

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


    正确答案: A
    解析:
    AB两项正确,模板的一般说明形式如下:template<<模板形参表>><函数声明>;C项错误,类模板可以有数据成员和成员函数;D项正确,函数模板的实参在一定条件下是可以省略的。

  • 第24题:

    单选题
    以下关于形参或实参的叙述中,错误的是()。
    A

    实参可以是常量、变量或表达式

    B

    形参可以是任意类型

    C

    形参可以是常量、变量或表达式

    D

    实参应与其对应的形参类型一致


    正确答案: D
    解析: 暂无解析