std :: initializer_list可以专用吗?

慈济

在遍历列表初始化的各种规则时,我在dcl.init.list#3.6中找到了它

否则,如果T是的特化形式std​::​initializer_­list<E>,则对象的构造如下所述。

在另一方面,在故事大纲std::initializer_list,在support.initlist,我发现了以下声明:

如果声明了的显式专门化或部分专门化initializer_­list,则程序格式错误。

这些似乎是矛盾的说法,那么我有什么误解?

黑猫

“模板专业化”具有两个不同的含义:

  1. “显式(完全)专业化”或“部分专业化”-一种语言构造,可为模板参数的某种组合更改模板的含义。

  2. 通过将模板参数替换为模板而从模板生成的内容。
    换句话说,如果您为模板指定模板参数,则生成的type / function / variable / ...是该模板特殊化例如,std::vector<int>专业化std::vector

好像您引用的第一段使用(2)。

因此,“如果T是一个专业化std​::​initializer_­list<E>大致意思是“如果存在这样E认为std::is_same_v<T, std::initializer_list<E>>”,或者“如果T 一个std::initializer_list<E>”。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

保留std :: initializer_list的副本可以安全吗?理由是什么?

来自分类Dev

C ++ 11可以构造一个std :: initializer_list吗?

来自分类Dev

做std :: initializer_list const会改变什么吗?

来自分类Dev

std :: initializer_list的实现

来自分类Dev

C ++-std :: initializer_list与std :: span

来自分类Dev

std :: initializer_list和引用类型

来自分类Dev

返回并自动推断std :: initializer_list

来自分类Dev

在clang中返回std :: initializer_list

来自分类Dev

C ++ std :: initializer_list用法

来自分类Dev

std :: initializer_list和引用类型

来自分类Dev

我可以使用std :: initializer_list而不是括号括起来的初始化程序来初始化数组吗?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

std :: make_shared与std :: initializer_list共享

来自分类Dev

std :: initializer_list作为std :: array构造函数

来自分类Dev

检查元素是否在std :: initializer_list中

来自分类Dev

具有多种类型的std :: initializer_list

来自分类Dev

从initializer_list错误构造一个std :: map

来自分类Dev

将'std :: initializer_list <int>'转换为'int'

来自分类Dev

std :: initializer_list作为构造函数的模板参数

来自分类Dev

如何防止std :: string使用initializer_list构造函数?

来自分类Dev

作为std :: initializer_list对象的抽象类

来自分类Dev

Visual Studio中的std :: initializer_list模糊性

来自分类Dev

带有std :: initializer_list的奇怪行为constexpr

来自分类Dev

在constexpr上下文中验证std :: initializer_list

来自分类Dev

为什么必须复制std :: initializer_list的元素?

来自分类Dev

为什么std :: min仅支持initializer_list?

来自分类Dev

不可复制类型的std :: initializer_list替代

来自分类Dev

具有多种类型的std :: initializer_list

Related 相关文章

  1. 1

    保留std :: initializer_list的副本可以安全吗?理由是什么?

  2. 2

    C ++ 11可以构造一个std :: initializer_list吗?

  3. 3

    做std :: initializer_list const会改变什么吗?

  4. 4

    std :: initializer_list的实现

  5. 5

    C ++-std :: initializer_list与std :: span

  6. 6

    std :: initializer_list和引用类型

  7. 7

    返回并自动推断std :: initializer_list

  8. 8

    在clang中返回std :: initializer_list

  9. 9

    C ++ std :: initializer_list用法

  10. 10

    std :: initializer_list和引用类型

  11. 11

    我可以使用std :: initializer_list而不是括号括起来的初始化程序来初始化数组吗?

  12. 12

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

  13. 13

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

  14. 14

    std :: make_shared与std :: initializer_list共享

  15. 15

    std :: initializer_list作为std :: array构造函数

  16. 16

    检查元素是否在std :: initializer_list中

  17. 17

    具有多种类型的std :: initializer_list

  18. 18

    从initializer_list错误构造一个std :: map

  19. 19

    将'std :: initializer_list <int>'转换为'int'

  20. 20

    std :: initializer_list作为构造函数的模板参数

  21. 21

    如何防止std :: string使用initializer_list构造函数?

  22. 22

    作为std :: initializer_list对象的抽象类

  23. 23

    Visual Studio中的std :: initializer_list模糊性

  24. 24

    带有std :: initializer_list的奇怪行为constexpr

  25. 25

    在constexpr上下文中验证std :: initializer_list

  26. 26

    为什么必须复制std :: initializer_list的元素?

  27. 27

    为什么std :: min仅支持initializer_list?

  28. 28

    不可复制类型的std :: initializer_list替代

  29. 29

    具有多种类型的std :: initializer_list

热门标签

归档