我们可以使用比模板中更少的参数来声明类模板吗?

尼兰詹·柯莎(Niranjan Kotha)

地图的类模板是这样的

template < class Key,                                     // map::key_type
       class T,                                       // map::mapped_type
       class Compare = less<Key>,                     // map::key_compare
       class Alloc = allocator<pair<const Key,T> >    // map::allocator_type
       > class map;

从模板看来,它需要4个模板参数,但是在声明地图时,我仅看到两个模板参数。

map <int, int> table;

这不是问题吗?如果不是正确的话,那么仅定义最后两个(四个)中的类型是正确的吗?

map<,,int,int>
songyuanyao
  1. 这不是问题吗?

这不是问题,它是默认的模板参数

默认模板参数在=符号后的参数列表中指定。

这意味着当您不指定它们时,例如map<key_type, value_type>,将使用默认参数。Compareless<key_type>,并Allocallocator<pair<const key_type, value_type>>

  1. 仅定义最后四个(四个)的类型是否正确?映射<,, int,int>

否。使用默认参数代替缺少的尾随参数。您不能仅指定最后两个参数,而不能指定前两个参数并希望应用默认参数。在这种情况下,前两个参数根本没有默认参数。

顺便提一句

如果为主类模板的模板参数指定了默认值,则每个后续模板参数都必须具有默认参数,但最后一个参数可能是模板参数包。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们可以用C ++中的非模板类“包装”模板类吗?

来自分类Dev

我们可以使用内联模板而不使用任何类型的路由吗?

来自分类Dev

我们可以使用Angular.js完全替代javascript模板引擎吗?

来自分类Dev

我可以使用非模板类专门化可变参数模板模板参数吗?

来自分类Dev

我可以使用非模板类专门化可变参数模板模板参数吗?

来自分类Dev

我们可以在类中声明密封方法吗

来自分类Dev

我们可以使用类作为标题吗

来自分类Dev

我们不能从initializer_list创建std :: array,但是我们可以使用带有可变参数的辅助函数来创建它吗?

来自分类Dev

我们可以使用导出属性在jsp页面中扩展多个类吗

来自分类Dev

我们可以使用super()测试MRO中类方法之间的身份吗?

来自分类Dev

我们可以使用javascript中的字符串获取类的对象吗?

来自分类Dev

我们可以使用R purrr累积函数来汇总数据集吗?

来自分类Dev

我们可以在类声明中声明一个类类型的指针吗?

来自分类Dev

我可以使用变量模板来声明另一个变量模板吗?

来自分类Dev

我可以使用变量模板来声明另一个变量模板吗?

来自分类Dev

在D中可以使用可变参数混合模板吗?

来自分类Dev

我们不能从initializer_list创建std :: array,但是可以使用带有可变参数的辅助函数来创建它吗?

来自分类Dev

我可以使用C ++中的模板类来做到这一点吗

来自分类Dev

我们可以声明不带参数的朋友功能吗?

来自分类Dev

我可以在编译时使用常数来选择类吗(可能使用模板)?

来自分类Dev

我可以为模板类的模板类型添加参数吗

来自分类Dev

在bash脚本中,我们可以使用命令行参数设置变量值吗?

来自分类Dev

带有容器和默认分配器的模板模板参数:我可以使声明更紧凑吗?

来自分类Dev

我们可以像在Vue中一样在Polymer中使用模板语法吗?

来自分类Dev

我们如何使用模板参数类型的变量?

来自分类Dev

我们如何使用模板参数类型的变量?

来自分类Dev

我们可以使用参数包作为std :: vector初始化程序吗?

来自分类Dev

我们可以使用右值引用来“传递”参数吗?

来自分类Dev

我们可以使用 Excel 外部化参数吗?

Related 相关文章

  1. 1

    我们可以用C ++中的非模板类“包装”模板类吗?

  2. 2

    我们可以使用内联模板而不使用任何类型的路由吗?

  3. 3

    我们可以使用Angular.js完全替代javascript模板引擎吗?

  4. 4

    我可以使用非模板类专门化可变参数模板模板参数吗?

  5. 5

    我可以使用非模板类专门化可变参数模板模板参数吗?

  6. 6

    我们可以在类中声明密封方法吗

  7. 7

    我们可以使用类作为标题吗

  8. 8

    我们不能从initializer_list创建std :: array,但是我们可以使用带有可变参数的辅助函数来创建它吗?

  9. 9

    我们可以使用导出属性在jsp页面中扩展多个类吗

  10. 10

    我们可以使用super()测试MRO中类方法之间的身份吗?

  11. 11

    我们可以使用javascript中的字符串获取类的对象吗?

  12. 12

    我们可以使用R purrr累积函数来汇总数据集吗?

  13. 13

    我们可以在类声明中声明一个类类型的指针吗?

  14. 14

    我可以使用变量模板来声明另一个变量模板吗?

  15. 15

    我可以使用变量模板来声明另一个变量模板吗?

  16. 16

    在D中可以使用可变参数混合模板吗?

  17. 17

    我们不能从initializer_list创建std :: array,但是可以使用带有可变参数的辅助函数来创建它吗?

  18. 18

    我可以使用C ++中的模板类来做到这一点吗

  19. 19

    我们可以声明不带参数的朋友功能吗?

  20. 20

    我可以在编译时使用常数来选择类吗(可能使用模板)?

  21. 21

    我可以为模板类的模板类型添加参数吗

  22. 22

    在bash脚本中,我们可以使用命令行参数设置变量值吗?

  23. 23

    带有容器和默认分配器的模板模板参数:我可以使声明更紧凑吗?

  24. 24

    我们可以像在Vue中一样在Polymer中使用模板语法吗?

  25. 25

    我们如何使用模板参数类型的变量?

  26. 26

    我们如何使用模板参数类型的变量?

  27. 27

    我们可以使用参数包作为std :: vector初始化程序吗?

  28. 28

    我们可以使用右值引用来“传递”参数吗?

  29. 29

    我们可以使用 Excel 外部化参数吗?

热门标签

归档