如何将std ::数组转换为std :: vector

How to convert a std::array to a std::vector?

本文关键字:std vector 转换 数组      更新时间:2023-10-16

我需要将std::array转换为std::vector,但是无论如何我都找不到快速进行操作。这是示例代码:

 std::array<char,10> myData={0,1,2,3,4,5,6,7,8,9};

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

std::vector<char> myvector;

并用数组值初始化它。

最快的方法是什么?

您可以使用std::vector的构造函数。

用范围的内容构建容器[首先,最后)。

,例如

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

仅用于品种:

std::vector<char> myvector(std::begin(myData), std::end(myData);
std::vector<char> myvector { myData.begin(), myData.end() };

我会使用向量的范围构造函数 - 看起来像 myvector(myData.begin(), myData.end())

供将来参考:http://en.cppreference.com/w/cpp/container/Vector/Vector