C++ 算法 copy()函数
C++算法copy()函数用于将容器[first, last]的所有元素复制到另一个容器,从result开始。
语法
template<class InputIterator, class OutputIterator>OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result);
参数
first :它是范围的第一个元素的输入迭代器,其中元素本身包含在范围内。
last :它是范围的最后一个元素的输入迭代器,其中元素本身不包含在范围内。
result :它是新容器的第一个元素的输出迭代器,其中元素被复制。
返回值
返回一个迭代器,指向以result开始的新范围的最后一个元素。
示例1
#include<iostream>
#include<algorithm>
#include<vector>
int main()
{
int newints[]={15,25,35,45,55,65,75};
std::vector<int> newvector(7);
std::copy (newints, newints+7, newvector.begin());
std::cout <<"newvector contains:";
for (std::vector<int>::iterator ti= newvector.begin(); ti!=newvector.end(); ++ti)
std::cout<<" " <<*ti;
std::cout<<"\n";
return 0;
}
输出:
newvector contains: 15 25 35 45 55 65 75
复杂度
该函数的复杂度是从第一个元素到最后一个元素的线性增长。
数据竞争
部分或全部的容器对象被访问。
异常情况
如果容器中的任何元素抛出异常,该函数会抛出异常。