从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);
}
似乎很冗长。有建议吗?
答案 0 :(得分:1)
std::vector
的构造函数接受迭代器范围作为输入,只要解引用的值可转换为向量的value_type
:
std::vector<std::string> vec(values.begin(), values.end());