C++ primer 第五版 中文版 9.3.1
练习 9.18:编写程序,从标准输入读取string序列,存入一个deque中。编写一个循环,用迭代器打印deque中的元素。
答:
#include <iostream>
#include <string>
#include <deque>
using std::cout;
using std::cin;
using std::endl;
using std::string;
using std::deque;
int main()
{
string tmpstr;
deque<string> str;
while (cin >> tmpstr)
{
str.push_back(tmpstr);
}
for(deque<string>::const_iterator iter = str.cbegin();iter!=str.cend();++iter)
cout << *iter << " ";
cout << endl;
return 0;
}
练习 9.19:重写上题的程序,用list替代deque。列出程序要做出哪些改变。
答:
1。头文件包含修改
2。变量声明修改
#include <iostream>
#include <list>
#include <string>
using std::string;
using std::list;
using std::cout;
using std::cin;
using std::endl;
int main()
{
string tmpstr;
list<string> strl

本文档介绍了C++ Primer第五版9.3.1节的几个练习,包括使用deque从标准输入读取并打印string序列,将程序改为使用list并说明所需改动,以及从list<int>中按奇偶性拷贝元素到两个deque的解决方案。同时指出了在使用insert函数时尾迭代器失效的问题。

463

被折叠的 条评论
为什么被折叠?



