我需要将std :: array转换为std :: vector,但无论如何我都无法快速找到它。以下是示例代码:
std::array<char,10> myData={0,1,2,3,4,5,6,7,8,9};
现在我需要创建一个矢量,例如:
std::vector<char> myvector;
并使用数组值初始化它。
最快的方法是什么?
答案 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);