上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页
摘要: 其它有用的迭代器 除了ostream_iterator和istream_iterator之外,头文件iterator还提供了其它一些专用的预定义 迭代器类型: reverse_iterator back_insert_iterator front_insert_iterator insert_ite 阅读全文
posted @ 2020-08-22 18:42 孱陵 阅读(125) 评论(0) 推荐(0) 编辑
摘要: STL提供了一些预定义迭代器 copy(argument1, argument2, argument3)算法 该算法可以将数据从一个容器复制到另一个容器中。这种算法是以 迭代器方式实现的,所以它可以从一种容器到另一种容器进行复制: argument1,argument2为迭代器参数,表示复制范围 a 阅读全文
posted @ 2020-08-22 18:05 孱陵 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 概念 STL有若干个用C++语言无法表达的特性,如迭代器种类。因此,虽然可以设计具有 正向迭代器特征的类,但不能让编译器将算法限制为只使用这个类。 STL文献使用术语概念来描述这一系列的要求。如果所设计的容器类需要迭代器,可 考虑STL,它包含用于标准种类的迭代器模板 改进 概念可以具有类似继承的关 阅读全文
posted @ 2020-08-22 17:32 孱陵 阅读(104) 评论(1) 推荐(1) 编辑
摘要: STL定义了五种迭代器: 输入迭代器 InputIterato 解除引用用于程序向容器读取内容,一般不允许修改值 支持++运算符(前缀和后缀) 输入迭代器是单向迭代器,可以递增,但不能倒退 输出迭代器 OutputIterator 解除引用让程序修改容器值,但不能读取 其余部分与输入迭代器相似(单通 阅读全文
posted @ 2020-08-22 16:28 孱陵 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 有些算法(如标准排序和二分检索)要求能够直接跳到容器中的任何一个元素,这叫做随机访问,需要随机访问迭代器 阅读全文
posted @ 2020-08-22 16:25 孱陵 阅读(270) 评论(0) 推荐(0) 编辑
摘要: ### 理解迭代器是理解STL的关键所在。模板使得算法独立于存储的 ### 数据类型,而迭代器使得算法独立于使用的容器类型, ### 因此它们都是STL通用方法的重要组成部分 泛型编程旨在使函数不仅独立于容器中存储的数据类型(可以为char、double等), 而且独立于容器本身的数据结构(可以是数 阅读全文
posted @ 2020-08-22 15:52 孱陵 阅读(165) 评论(0) 推荐(0) 编辑
摘要: STL是一种泛型编程 ### 面向对象编程关注的是编程的数据方面,而泛型编程关注的是算法, ### 共同点是抽象和创建可重用代码,但理念绝然不同, ### 泛型编程旨在编写独立于数据类型的代码 阅读全文
posted @ 2020-08-22 15:17 孱陵 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 基于范围的for循环是为STL而设计的 for (<typename> x : object) { .... } 不同于for_each(),该循环允许修改容器内容,方法是使用引用参数 for (<typename> & x : object) { ... } 阅读全文
posted @ 2020-08-22 15:12 孱陵 阅读(85) 评论(0) 推荐(0) 编辑
摘要: STL定义了一些适用于所有容器类的非成员函数 ### 另一方面,即使有执行相同任务的非成员函数,STL有时也会也会定义一个成员函数。 ### 这是因为对有些操作来说,类的特定算法的效率比通用算法高。 ### 但通用算法能够操作两个类型不同的容器的内容 三个代表性的STL函数: for_each(ar 阅读全文
posted @ 2020-08-22 15:02 孱陵 阅读(86) 评论(0) 推荐(0) 编辑
摘要: // 1.返回容器中元素的数目 size() // 2.交换两个容器的内容 swap() // 3.返回一个指向容器中第一个元素的迭代器 begin() // 4.返回一个表示超过容器尾的迭代器(超尾迭代器) end() ——以上是所有STL容器都具有的基本方法。 ### 使用迭代器 ### 迭代器 阅读全文
posted @ 2020-08-22 14:23 孱陵 阅读(124) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页