C++ Primer 中文版 第4版 习题9.7

来源:互联网 发布:javascript创建对象 编辑:程序博客网 时间:2024/05/16 08:00

/*我在这里写下部分C++ Primer 中文版 第4版 习题的个人解答和看法(注:我没有买答案书,所以不保证正确,你觉得错的,希望你能告诉我)源代码运行的要求和书上一样,省略了预编译和using行。假如有什么说的不详细,你还不懂,可以问我,不过我也是初学者,不一定知道阿,看我还在学C++ Prime 就知道我是初学者了。欢迎转载,但是请保留作者名“九天雁翎”。*/

 

int main()
{
     vector<int> ivec(10,1);
     vector<int>::iterator iter1,iter2;
     iter1=ivec.begin();
     iter2=ivec.end();
     while(iter1 <iter2)
     {
          ++iter1;
          --iter2;
          cout <<*iter1;
     }
     return 0;

}

/*上面程序和原程序类似,你会发现程序并没有错误,原程序错在哪呢?

首先lst1为list<int>类型,而类似iter1 <iter2的迭代器比较只有vector和deque可以,其次要说的并不是错误,只是说一下,即使把list改成vecotr,也不太好,因为此时lst1还是空的,没有元素,所以,while条件一次也不会成立。*/