STL

list<int> coll1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

cout << "** collection 1: **" << endl;
ContainerUtil<list<int>>::printElements(coll1);

vector<int> coll2;
copy(coll1.cbegin(), coll1.cend(), back_inserter(coll2));

cout << "** collection 2(copy back insert from collection 1): **" << endl;
ContainerUtil<vector<int>>::printElements(coll2);

deque<int> coll3;
copy(coll1.cbegin(), coll1.cend(), front_inserter(coll3));

cout << "** collection 3(copy front insert from collection 1): **" << endl;
ContainerUtil<deque<int>>::printElements(coll3);

set<int> coll4;
copy(coll1.cbegin(), coll1.cend(), inserter(coll4, coll4.begin()));

cout << "** collection 4(copy general insert from collection 1): **" << endl;
ContainerUtil<set<int>>::printElements(coll4);

运行结果:

** collection 1: **
  1  2  3  4  5  6  7  8  9
** collection 2(copy back insert from collection 1): **
  1  2  3  4  5  6  7  8  9
** collection 3(copy front insert from collection 1): **
  9  8  7  6  5  4  3  2  1
** collection 4(copy general insert from collection 1): **
  1  2  3  4  5  6  7  8  9
 

原文地址:https://www.cnblogs.com/davidgu/p/4773032.html