C++ primer 第五版 中文版 练习 10.28 个人code

来源:互联网 发布:autop 线切割编程系统 编辑:程序博客网 时间:2024/06/08 03:42

C++ primer 第五版 中文版 练习 10.28

题目:一个vector中保存1到9,将其拷贝到三个其它容器中。
分别使用inserter、back_inserter和front_inserter将元素添加到三个容器中。
对每种inserter,估计输出序列是怎么样的,运行程序验证你的估计是否正确。

答:

#include <iostream>#include <iterator>#include <vector>#include <string>#include <list>#include <deque>#include <algorithm>using namespace std;int main(){vector<int> ivect = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };list<int> ilist;string mystr;deque<int> ideque;copy(ivect.cbegin(), ivect.cend(), front_inserter(ilist));copy(ivect.cbegin(), ivect.cend(), back_inserter(mystr));copy(ivect.cbegin(), ivect.cend(), inserter(ideque,ideque.begin()));for_each(ilist.cbegin(), ilist.cend(), [](const int &a){cout << a << " "; });cout << endl;for_each(mystr.cbegin(), mystr.cend(), [](const int &a){cout << a << " "; });cout << endl;for_each(ideque.cbegin(), ideque.cend(), [](const int &a){cout << a << " "; });cout << endl;return 0;}


0 0
原创粉丝点击