如何复制或移动std :: vector< T>的前n个元素?进入C 11 std :: array< T,n>?
解决方法:
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());