gpt4 book ai didi

c++ - 将一个 vector 部分分配给另一个 vector

转载 作者:太空狗 更新时间:2023-10-29 23:43:44 24 4
gpt4 key购买 nike

std::fill( ForwardIt first, ForwardIt last, const T& value ) 允许我用常数值填充 vector 的一部分。

std::assign( InputIt first, InputIt last ) 允许我用另一个 vector 的一部分完全替换一个 vector

STL 中是否有结合这两者的函数(类似于 part_assign(begin, end, begin, end))允许我用另一个 vector 填充一个 vector 的区间?

如果没有,最有效的方法是什么?

最佳答案

是的,它叫做std::copy:

std::copy(src_begin, src_end, dst_begin);

它将 std::distance(src_begin, src_end) 元素(从您的源 vector )复制到以 dst_begin 开始的元素(在您的目标 vector 中)。与 fill 一样,如果您想改变接收容器,目标迭代器可能是一个插入器。

有几种变体,例如

std::copy_n(src_begin, n, dst_begin);

复制 n 个元素。还有 std::move 移动元素而不是复制它们,或者您可以将移动迭代器与 copy 一起使用。

关于c++ - 将一个 vector 部分分配给另一个 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42261129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com