Copy std::vector into std::array

前端 未结 2 888
青春惊慌失措
青春惊慌失措 2020-12-17 08:48

How do I copy or move the first n elements of a std::vector into a C++11 std::array?

2条回答
  •  醉话见心
    2020-12-17 09:40

    Use std::copy_n

    std::array arr;
    std::copy_n(vec.begin(), N, arr.begin());
    

    Edit: I didn't notice that you'd asked about moving the elements as well. To move, wrap the source iterator in std::move_iterator.

    std::copy_n(std::make_move_iterator(v.begin()), N, arr.begin());
    

提交回复
热议问题