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

时间:2017-12-11 14:06:28

标签: c++ arrays c++11 vector

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

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

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

std::vector<char> myvector;

并使用数组值初始化它。

最快的方法是什么?

4 个答案:

答案 0 :(得分:5)

您可以使用constructor of std::vector获取迭代器。

  

使用范围[first,last)的内容构造容器。

e.g。

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

只是为了变化:

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