c++ - 如何在不使用 std::initializer_list 的情况下定义初始化列表构造函数?

标签 c++

我想在完全不依赖 STL 的情况下为自己的容器制作一个小型库,作为一种练习形式。如何在没有 std::initializer_list 的情况下为我的类定义初始化列表构造函数?它是如何实现的?

最佳答案

How can I define an initializer list constructor for my classes without std::initializer_list?



你没有。 “初始化列表构造函数”的定义与 std::initializer_list 相关。 .就像 typeid 的结果一样直接绑定(bind)到 std::type_info ,以及 sizeof 的结果和 alignofstd::size_t .

试图使用 C++ 却假装整个标准库不存在是愚蠢的。有些部分你可以忽略而不会产生任何后果,但如果你想要一个“初始化列表构造函数”,你必须使用 std::initializer_list .

C++ 标准库不是可选的;作为一种语言,它并没有脱离 C++。部分是,但是std::initializer_list不是这些部分之一。

关于c++ - 如何在不使用 std::initializer_list 的情况下定义初始化列表构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60605424/

相关文章:

c++ - 需要帮助将 Kruskal 算法应用于使用 2D 结构存储数据的现有邻接矩阵程序

c++ - 按姓氏然后名字对结构进行排序

C++ 空指针

c++ - 如何设计一个简单的 std::string-to-boost::posix_time::ptime 解析库

c++ - 访问控制和静态成员

c++ - 嵌套类、 undefined reference 、静态方法

c++ - 通过检测图像中的特定大对象或 Blob 来裁剪图像?

c++ - 使用输出流创建的二进制输出文件的内容

c++ - 在 move 分配中使用 std::swap() 应该会导致无限递归(和原因),但它是 Stroustrup 书中的一个例子

c++ - C++中的特征库是否有动态 vector 或矩阵