简体   繁体   English

std::vector 中的初始化列表构造函数

[英]initializer list constructor in std::vector

I wanted to know how can the initializer list constructors be implemented if I want to make my own vector class?如果我想制作自己的向量 class,我想知道如何实现初始化列表构造函数?

eg:例如:

Vector_Class<int> v{1, 2, 3, 4, 5};

How can this type of constructor be implemented?如何实现这种类型的构造函数?

You declare a constructor that takes a std::initializer_list<some_type> .您声明一个采用std::initializer_list<some_type>的构造函数。

Example:例子:

#include <iostream>
#include <initializer_list>

template<class T>
class foo {
public:
    foo(std::initializer_list<T> Ts) {
        for(auto v : Ts) {
            std::cout << v << '\n';
        }
    }
};

int main() {
    foo<int> x{1,2,3,4,5};
}

Output: Output:

1
2
3
4
5

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 初始化程序列表向量构造函数 - initializer list vector constructor 为什么 std::vector 构造函数通过复制接受初始化列表? - Why does the std::vector constructor accept initializer list by copy? 为什么在std :: vector的初始化列表中调用复制构造函数? - Why copy constructor is called in std::vector's initializer list? std :: vector的C ++初始化列表 <obj*> 作为构造函数参数 - C++ initializer list for std::vector<obj*> as constructor parameter std :: initializer_list构造函数 - std::initializer_list constructor std :: map初始化列表构造函数 - std::map initializer list constructor concat std :: vector和初始化列表 - concat std::vector and initializer list 如何在构造函数初始值设定项列表中初始化std :: unique_ptr对象的类成员std :: vector? - How do I initialize a class member `std::vector` of `std::unique_ptr` object in the constructor initializer list? 使用带有std :: pair的std :: vector emplace_back()和构造函数初始化列表 - Using std::vector emplace_back() with std::pair with constructor initializer list 放置模板化的std :: array <std::vector<T> ,N&gt;在构造函数初始值设定项列表中 - Place templated std::array<std::vector<T>, N> in constructor initializer list
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM