- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1、vector类 从vector容器中删除对象的两种成员函数 : void pop_back(); //移走向量中的最后一个对象 iterator erase(iterator n); //删除n所指向的元素 iterator erase(iterator first,iterator last); //删除[first,last]之间的元素 访问vector容器中的对象的成员函数 front();返回vector的第一个元素 back();返回vector的最后一个元素。 9.4 C++标准模板库 * 2、算法(algorithm) 算法是处理容器中元素的函数,算法是独立的模板函数,它应用于C++内置的数组和自定义容器。 STL中的算法大多有多种版本,用户可以依照具体的情况选择合适版本。 STL提供了大约100个实现算法的模版函数 STL的泛型算法中有四类基本的算法 变序型队列算法,可以改变容器内的数据; 这类算法有复制(copy)、交换(swap)、替代(replace)、删除(clear),移动(remove)、翻转(reverse)等等。 9.4 C++标准模板库(STL) * 2、算法(algorithm) STL的泛型算法中有四类基本的算法 非变序型队列算法,处理容器内的数据而不改变他们; 排序值算法,包涵对容器中的值进行排序和合并的算法, 二叉搜索算法、通用数值算法。变序型队列算法,又叫可修改的序列算法 9.4 C++标准模板库(STL) * 2、算法(algorithm) 算法部分主要由三个头文件组成: algorithm由模版函数组成常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、移除、反转、排序、合并等等。 numeric包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作。 functional定义了一些模板类,用以声明函数对象。 9.4 C++标准模板库(STL) * 3、迭代器(iterator) 迭代器在STL中将算法和容器联系起来,几乎STL提供的所有算法都是通过迭代器存取元素序列进行工作的, 每一个容器都定义了其本身所专有的迭代器,用以存取容器中的元素。 迭代器是面向对象版本的指针,提供了访问包容器或序列中每个对象的方法。 不同的迭代器类用于不同类型的包容器,主要有三类:向前迭代器(forward)、双向迭代器(bidirectional)和随机迭代器(random access)。 P235表9-1列出了上述几种迭代器的使用方法和性质,同时还加上输入/输出迭代器,它们相应的操作与输入/输出设备有关。 9.4 C++标准模板库(STL) * 3、迭代器(iterator) 迭代器部分主要由三个头文件组成: utility是一个很小的头文件,它包括了贯穿使用在STL中的几个模板的声明 iterator中提供了迭代器使用的许多方法 memory为容器中的元素分配存储空间,同时也为某些算法执行期间产生的临时对象提供机制,memory中的主要部分是模板类allocator,它负责产生所有容器中的默认分配器 9.4 C++标准模板库(STL) * (1)函数模板是一类函数的抽象,代表了一类函数,这一类函数具有相同的功能。模板函数是函数模板的一个具体的函数。函数模板是模板的定义,而模板函数是函数模板的一个实例。 (2)类模板只是模板的定义,不是一个实在的类,模板类才是实在的类。类模板是对类的抽象,代表一种类型的类,这些类具有相同的功能,但数据成员类型及成员函数返回类型和形参类型不同。模板类是类模板的实例,代表一个具体的类。模板类可以定义类对象,而类模板不能定义对象。 小结 * (3)C++ 标准模板库STL的目的是标准化组件,STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机制 小结 * 作业 复习第九章,预习第十章 P244练习 上机完成: 内容: 完成实验九(ftp上) 上交: 将上述实验(含练习中的程序)完成并剪贴相关内容到一word文件(实验九.doc)中,然后上传到ftp自己的文件夹下。 主讲:康 丽 * 第九章 模板 C++语言程序设计 * 本章主要内容 函数模板 类模板 固定类型的类模板 标准模板类库 小结 * 模板 在程序设计中,经常需要用到一些功能完全相同的程序实体,但它们所涉及的数据的类型不同。 例如,对不同元素类型的数组进行排序的函数: void int_sort(int x[],int num); void double_sort(double x
原创力文档


文档评论(0)