如何从std :: initializer_list <char const *>构建std :: vector <std :: string>

时间:2019-08-27 01:07:02

标签: c++

std::vector<std::string>构建std::initializer_list<char const*>的正确方法是什么?我可以遍历初始化列表并手动构建矢量,例如:

std::initializer_list<char const*> values;
std::vector<std::string> vec;
for(auto v : values) {
    vec.push_back(v);
}

似乎很冗长。有建议吗?

1 个答案:

答案 0 :(得分:1)

std::vector的构造函数接受迭代器范围作为输入,只要解引用的值可转换为向量的value_type

std::vector<std::string> vec(values.begin(), values.end());