c – 将std :: vector复制到std :: array中

如何复制或移动std :: vector< T>的前n个元素?进入C 11 std :: array< T,n>?

解决方法:

使用std::copy_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());
上一篇:如何制作一个C地图容器,其中键是值的一部分?


下一篇:C通用插入到std容器中?