copy(vs2010版本)
- 引言
copy是我学习总结<algorithm>的第五篇,这个太好理解了,就是简简单单的copy。
- 作用
copy的作用是具有连续地址的一堆数据复制到指定的容器里,并返回这个容器。
原理如下
template<class InputIterator, class OutputIterator>
OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result)
{
while (first!=last) {
*result = *first;
++result; ++first;
}
return result;
}
- 实验
把数据集合
{10,20,30,40,50,60,70}复制到容器
--
myvector里,并输出。
- 代码
test.cpp
#include <iostream> // std::cout
#include <algorithm> // std::copy
#include <vector> // std::vector
int main ()
{
int myints[]={10,20,30,40,50,60,70};
std::vector<int> myvector (7);
std::copy ( myints, myints+7, myvector.begin() );
std::cout << "myvector contains:";
for (std::vector<int>::iterator it = myvector.begin(); it!=myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
system("pause");
return 0;
}
template<class InputIterator, class OutputIterator>
OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result)
{
while (first!=last) {
*result = *first;
++result; ++first;
}
return result;
}
#include <iostream> // std::cout
#include <algorithm> // std::copy
#include <vector> // std::vector
int main ()
{
int myints[]={10,20,30,40,50,60,70};
std::vector<int> myvector (7);
std::copy ( myints, myints+7, myvector.begin() );
std::cout << "myvector contains:";
for (std::vector<int>::iterator it = myvector.begin(); it!=myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
system("pause");
return 0;
}