如何不使用std :: initializer_list定义初始值设定项列表构造函数?

大温度

作为练习,我想创建一个自己的容器的小型库,而完全不依赖STL。如何在没有std :: initializer_list的情况下为我的类定义一个初始化器列表构造函数?甚至如何实施?

尼科尔·波拉斯(Nicol Bolas)

没有类,std::initializer_list如何为我的类定义一个初始化列表构造函数

你不知道 “初始化程序列表构造函数”的定义与紧密相关std::initializer_list就像结果typeid就是直接嵌入std::type_info和结果sizeof,并alignof为一个std::size_t

假装不完整地使用标准库,而尝试使用C ++则是愚蠢的。您可以忽略其中的某些部分而不会产生任何后果,但是如果要使用“初始化程序列表构造函数”,则必须使用std::initializer_list

C ++标准库不是可选的它没有脱离C ++作为语言。其中一部分是,但std::initializer_list不是其中一部分。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在varargs构造函数的初始值设定项列表中初始化向量?

使用列表初始值设定项vs构造函数的complex <>?

如何在 C++ 构造函数初始值设定项列表中初始化非内置类型的数组?

如何使用构造函数初始值设定项列表中的n个元素初始化std :: vector <std :: time_t>

如何不使用std lib函数打印内容?

从初始值设定项列表初始化向量时,为什么不使用移动构造(通过隐式构造函数)

如何在带有初始值设定项的构造函数中使用 vprintf/cstdarg 功能?

如何使用Clang-AstMatcher获取所有构造函数的初始值设定项?

在C#构造函数初始值设定项中使用默认属性值

复制构造函数中的初始值设定项列表中的make_unique是不使用noexcept说明符的良好目的吗?

如何通过C ++中的函数参数传递固定大小的初始值设定项列表的初始值设定项列表?

在声明时使用 val.Class 定义类对象数组,在构造函数初始值设定项列表中使用数组 & 使用成员数组分配的 ptr 成员

在 Java 函数中使用数组初始值设定项

如何解决“数组初始值设定项必须是初始值设定项列表”错误?

如何修复“属性没有初始值设定项并且未在构造函数中明确分配”错误?

您可以使用带有指定初始值设定项的显式构造函数吗?

如何在不使用匿名对象的情况下初始化列表初始值设定项中的对象?

使用指定的初始值设定项时-Wmissing-field-initializer

为什么使用带括号的初始化程序列表时首选std :: initializer_list构造函数?

为什么在对象初始值设定项中允许而不使用“ new”的集合初始值设定项?

如何构造初始值设定项和双端队列

Json.NET 使用对象初始值设定项构造 JSON

如何在成员初始值设定项列表之外初始化类成员

使用对象初始值设定项时如何在列表中添加值?

使用值包含 unique_ptr 成员变量的初始值设定项列表

带有 std::thread 和 this 的 ctor 初始值设定项列表

启用默认的初始值设定项列表构造函数

构造函数采用初始值设定项列表

std :: initializer_list构造函数