【发布时间】:2012-07-19 12:15:55
【问题描述】:
是否有类似std::copy 的算法接受四个迭代器,表示两个范围?
基本上,只要任一范围用完,它就应该停止复制:
template<typename Iter>
void copy_range(Iter begin1, Iter end1, Iter begin2, Iter end2)
{
for (; (begin1 != end1) && (begin2 != end2); ++begin1, ++begin2)
{
*begin2 = *begin1;
}
}
【问题讨论】:
-
你刚做了一个。你的问题是什么?
-
也许你可以使用C++11的
std::copy_if函数? -
可能是
partial_sort_copy的破解版?虽然坦率地说,我没有看到让它复杂化的意义...... -
一个很好的资源是cppreference,如果你想找到替代品,看看那里。
-
@SergeyK 我的代码旨在成为规范,而不是交付质量,高度优化的实现。
标签: c++ algorithm stl iterator copy