第十四周项目:程序阅读(三)

来源:互联网 发布:apache运行php文件 编辑:程序博客网 时间:2024/06/05 07:01
/*  *Copyright(c)2016.烟台大学计算机学院  *All right reserved.  *文件名称:test.cpp  *作者:黄金婵  *完成日期:2016年6月20日  *版本号:v1.0  *  *问题描述:阅读并运行程序,解释程序执行得到的结果  *程序输入:  *程序输出:  */ #include <iterator>#include <list>#include <algorithm>#include <iostream>using namespace std;int main(){    int ia[5] = {1,2,3,4};    list<int> id(ia, ia+4);    ostream_iterator<int> outite(cout, " ");    copy(id.begin(), id.end(), outite);    cout << endl;    copy(ia+1, ia+2, front_inserter(id));    copy(id.begin(), id.end(), outite);    cout << endl;    copy(ia+3, ia+4, back_inserter(id));    copy(id.begin(), id.end(), outite);    cout << endl;    list<int>::iterator ite = find(id.begin(), id.end(), 3);    copy(ia+0, ia+2, inserter(id, ite));    copy(id.begin(), id.end(), outite);    cout << endl;    copy(id.rbegin(), id.rend(), outite);    cout << endl;    return 0;}

知识点总结:


             迭代器有各种不同的创建方法。程序可能把迭代器作为一个变量创建。一个STL容器类可能为了使用一个特定类型的数据而创建一个迭代器。作为指针,必须能够使用*操作符类获取数据。你还可以使用其他数学操作符如++。典型的,++操作符用来递增迭代器,以访问容器中的下一个对象。如果迭代器到达了容器中的最后一个元素的后面,则迭代器变成past-the-end值。使用一个past-the-end值得指针来访问对象是非法的,就好像使用NULL或为初始化的指针一样。

0 0
原创粉丝点击