C++ 如何从字符串向量_视图创建字符串向量而无需迭代?

C++ 如何从字符串向量_视图创建字符串向量而无需迭代?,c++,c++17,C++,C++17,我有以下向量: std::vector<std::string_view> const keys{"A1", "A2", "A3", "B1", "C1"}; std::向量常量键{“A1”、“A2”、“A3”、“B1”、“C1”}; 我想用它创建一个std::string的向量,而不需要对它进行迭代。std::vector v(keys.begin(),keys.end()); std::vector<std::string> v(keys.begin(), key

我有以下向量:

std::vector<std::string_view> const keys{"A1", "A2", "A3", "B1", "C1"};
std::向量常量键{“A1”、“A2”、“A3”、“B1”、“C1”};
我想用它创建一个std::string的向量,而不需要对它进行迭代。

std::vector v(keys.begin(),keys.end());
std::vector<std::string> v(keys.begin(), keys.end());
我应该这样做。当然,在该构造函数中隐藏着迭代。

std::vector v(keys.begin(),keys.end());

我应该这样做。当然,该构造函数中隐藏着迭代。

必须有人对该向量进行迭代,从string_视图创建字符串。如果没有迭代,就无法完成这项工作。但是如果你不想手动迭代,那么就使用像
std::for_each()
std::transform()
这样的算法,有人将不得不在该向量上迭代,从字符串视图创建字符串。没有迭代,你无法完成这项任务。但是如果您不想手动迭代,那么可以使用类似
std::for_each()
std::transform()之类的算法。这就是我要找的。是的。这就是我要找的。