如何将n
的第一个std::vector<T>
元素复制或移动到C ++ 11中std::array<T, n>
?
答案 0 :(得分:28)
std::array<T, N> arr;
std::copy_n(vec.begin(), N, arr.begin());
编辑:我没有注意到你也问过关于移动元素的问题。要移动,请在std::move_iterator
中包装源迭代器。
std::copy_n(std::make_move_iterator(v.begin()), N, arr.begin());
答案 1 :(得分:4)