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

How to build std::vector<std::string> from std::initializer_list<char const*>

本文关键字:std lt gt vector string const 构建 initializer list char      更新时间:2023-10-16

std::initializer_list<char const*>构建std::vector<std::string>的正确方法是什么?我可以遍历初始值设定项列表并手动构建向量:

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

似乎很啰嗦。建议?

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

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