如何将std :: array转换为std :: vector?

man*_*ans 1 c++ arrays vector c++11

我需要将std :: array转换为std :: vector,但无论如何我都无法快速找到它.以下是示例代码:

 std::array<char,10> myData={0,1,2,3,4,5,6,7,8,9};
Run Code Online (Sandbox Code Playgroud)

现在我需要创建一个矢量,例如:

std::vector<char> myvector;
Run Code Online (Sandbox Code Playgroud)

并使用数组值初始化它.

最快的方法是什么?

son*_*yao 7

您可以使用获取迭代器的构造std::vector函数.

使用范围[first,last]的内容构造容器.

例如

std::array<char,10> myData = {0,1,2,3,4,5,6,7,8,9};
std::vector<char> myvector(myData.begin(), myData.end());
Run Code Online (Sandbox Code Playgroud)


Pet*_*ker 7

只是为了多样化:

std::vector<char> myvector(std::begin(myData), std::end(myData);
Run Code Online (Sandbox Code Playgroud)