摘要:
1函数对象一个行为类似函数的对象可以没有参数,也可以带有若干参数其功能是获取一个值,或者改变操作的状态。 例 普通函数就是函数对象 重载了“()”运算符的类的实例是函数对象 函数对象概念图 使用两种方式定义表示乘法的函数对象 通过定义普通函数(例10-13) 通过重载类的“()”运算符(例10-14 阅读全文
摘要:
1关联容器分类和基本功能 关联容器的特点和接口关联容器的特点 每个关联容器都有一个键(key) 可以根据键高效地查找元素接口 插入:insert 删除:erase 查找:find 定界:lowerbound、upperbound、equal_range 计数:count 四种关联容器 单重关联容器( 阅读全文
摘要:
顺序容器 向量(vector) 双端队列(deque) 列表(list) 单向链表(forward_list) (以上四种在逻辑上可看作是一个长度可扩展的数组) 数组(array) 元素线性排列,可以随时在指定位置插入元素和删除元素。 必须符合Assignable这一概念(即具有公有的拷贝构造函数并 阅读全文
摘要:
容器类是容纳、包含一组元素或元素集合的对象。基于容器中元素的组织方式:顺序容器、关联容器按照与容器所关联的迭代器类型划分:可逆容器、随机访问容器 容器的基本功能与分类顺序容器 array(数组)、vector(向量)、deque(双端队列)、forward_list(单链表)、list(列表)(有序 阅读全文
摘要:
迭代器是算法和容器的桥梁 迭代器用作访问容器中的元素 算法不直接操作容器中的数据,而是通过迭代器间接操作算法和容器独立 增加新的算法,无需影响容器的实现 增加新的容器,原有的算法也能适用 输入流迭代器和输出流迭代器输入流迭代器 istream_iterator<T> 以输入流(如cin)为参数构造 阅读全文
摘要:
1泛型程序设计的基本概念泛型程序设计: 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念用来界定具备一定功能的数据类型。例如: 将“可以比大小的所有数据类型(有比较运算符)”这一概念记为Comparable 将“具有 阅读全文
摘要:
静态数组是具有固定元素个数的群体,其中的元素可以通过下标直接访问。动态数组由一系列位置连续的,任意数量相同类型的元素组成。vector就是用类模板实现的动态数组。 阅读全文
摘要:
线性群体的概念 群体是指由多个数据元素组成的集合体。群体可以分为两个大类:线性群体和非线性群体。 线性群体中的元素按位置排列有序,可以区分为第一个元素、第二个元素等。 非线性群体不用位置顺序来标识元素。 线性群体中的元素次序与其逻辑位置关系是对应的。 在线性群体中,又可按照访问元素的不同方法分为 直 阅读全文