1. 程式人生 > >vector和list容器之間的復制

vector和list容器之間的復制

lis copy st3 pac log iterator using list ostream


#include <iostream>
#include <list>
#include <string>
#include <vector>
#include <iterator>
using namespace std;

int main()
{
	//copy list to list
	list<string> oldList;
	list<string> newList;
	oldList.push_back("test1");
	oldList.push_back("test2");
	oldList.push_back("test3");
	copy(oldList.begin(), oldList.end(), back_inserter(newList));	

	//copy vector to vector
	vector<string> oldVector;
	vector<string> newVector;
	oldVector.push_back("test4");
	oldVector.push_back("test5");
	oldVector.push_back("test6");
	copy(oldVector.begin(), oldVector.end(), back_inserter(newVector));	

	//copy list to vector
	list<string> list1;
	vector<string> vector1;
	list1.push_back("test7");
	list1.push_back("test8");
	list1.push_back("test9");
	copy(list1.begin(), list1.end(), back_inserter(vector1));	

	//copy vector to list
	vector<string> vector2;
	list<string> list2;
	vector2.push_back("test10");
	vector2.push_back("test11");
	vector2.push_back("test12");
	copy(vector2.begin(), vector2.end(), back_inserter(list2));	

	return 0;
}

特別註意:

copy(vec.begin()+3, vec.begin()+6, back_inserter(list2));
這樣的情況下,僅僅是拷貝了vec[3]、vec[4]、vec[5] 。

vec[6]並沒有拷貝!

vector和list容器之間的復制