第十章 关联容器
来源:互联网 发布:云视通电脑版mac怎么用 编辑:程序博客网 时间:2024/06/09 13:45
1.关联容器:
1.支持通过键来高效地查找和读取元素。
2.两个基本的关联容器类型是 map set。
2.pair 类型:
1.pair<T1, T2> p1; 创建一个空的 pair 对象,它的两个元素分别是 T1 和 T2类型。
2.pair<T1, T2> p1(v1, v2); 创建一个 pair 对象,它的两个元素分别是 T1 和 T2 ,其中 first 成员初始化为 v1,而 second 成员初始化为 v2。
3.make_pair(v1, v2); 以 v1 和 v2 值创建一个新 pair 对象,其元素类型分别是v1 和 v2 的类型。
4.p1 < p2; 两个 pair 对象之间的小于运算,其定义遵循字典次序:如果 p1.first < p2.first 或者 !(p2.first < p1.first) &&p1.second < p2.second,则返回 true。
5.p1 == p2;如果两个 pair 对象的 first 和 second 成员依次相等,则这两个对象相等。该运算使用其元素的 == 操作符。
6.p.first 返回 p 中名为 first 的(公有)数据成员。
7.p.second 返回 p 的名为 second 的(公有)数据成员。
3.关联容器不提供front、 push_front、 pop_front、back、push_back 以及 pop_back 操作。
4.map 的构造函数:
1.map<k, v> m;
2.map<k, v> m(m2);
3.map<k, v> m(b, e);
5.键类型的约束:
作为键的类型,必须提供逻辑运算<的操作。(严格弱排序)
6.map 类定义的类型:
1.map<K, V>::key_type 在 map 容器中,用做索引的键的类型。
2.map<K, V>::mapped_type 在 map 容器中,键所关联的值的类型。
4.map<K, V>::value_type 一个 pair 类型,它的 first 元素具有 const map<K,V>::key_type 类型,而 second 元素则为 map<K,V>::mapped_type 类型。
7.在学习 map 的接口时,需谨记 value_type 是 pair 类型,它的值成员可以修改,但键成员不能修改。
8.不修改 map 对象的查询操作:
1.m.count(k) 返回 m 中 k 的出现次数。
2.m.find(k) 如果 m 容器中存在按 k 索引的元素,则返回指向该元素的迭代器。如果不存在,则返回超出末端迭代器
9.返回迭代器的关联容器操作:
1.m.lower_bound(k) 返回的迭代器则指向最后一个实例的下一位置。
2.m.upper_bound(k) 返回的迭代器则指向最后一个实例的下一位置。
3.m.equal_range(k) 返回一个迭代器的 pair 对象它的 first 成员等价于 m.lower_bound(k)。而 second 成员则等价于 m.upper_bound(k).
- 第十章 关联容器
- 第十章:关联容器
- 第十章 关联容器
- 第十章 关联容器
- C++ Primer 4 第十章 关联容器
- C++ Prime 第十章 关联容器
- C++ Primer 第十章 关联容器
- c++ primer读书笔记-第十章 关联容器
- 第十章 关联容器(上)
- 第十章 关联容器(下)
- C++ primer读书笔记 第十章 关联容器
- C++Primer学习笔记第十章(10/18)关联容器
- 第十章-关联容器----重学C++之《 C++ PRIMER》
- 第二部分——第十章/关联容器
- 关联容器 - 1【C++ Primer 学习笔记 - 第十章】
- 关联容器 - 2【C++ Primer 学习笔记 - 第十章】
- C++ Premier重固之第十章:关联容器
- C++ Primer 【第四版】第十章 关联容器
- LVS-DR负载均衡-02
- Java程序员必知的8大排序
- LVS-DR负载均衡-03
- Java实现的几个常用排序算法详细解读
- 安装bashell on AIX 5.3
- 第十章 关联容器
- C++实现多线程安全的单体模式(Singleton)
- C++STL概览
- 数据库三范式
- os的进程调度(读书笔记)
- 查询时间SQL
- 创建二次几何体的学习笔记
- 优先级反转问题
- 数据结构1