C++primer第4版第十章关联容器
2016-12-06 20:36
155 查看
Talk is cheap, show me the code.
使用pair对象必须包含头文件utility,创建pair对象有多中方式:
使用map对象必须包含头文件map,而且作为key的类型必须定义了 < 运算操作;
不能使用map的下标操作来判断一个key是否存在于map中,而应当用find或者count函数来判断,因为下标操作即使元素不存在也会创建一个元素,并置为初始值。优先选择find函数来查找。
map的常用操作有:insert(key),map[key]=value,erase(key),find(key),count(key)等等。
使用set对象必须包含头文件set,set中的元素类型都是const,不能修改,而且都不重复。set常用操作有:insert(key),erase(key),find(key),count(key)等等。
set头文件中还有multiset,map头文件中还有multimap,都支持多个相同key的元素,这些相同key的元素都相邻存放。需要访问时提供了起始和终止下一位置的迭代器,这时候count()函数就体现出它的意义。
使用pair对象必须包含头文件utility,创建pair对象有多中方式:
pair<string, int> p; p.first = "hello"; p.second = 12; pair<string, int> p1("hello", 12); pair<string, int> p2 = make_pair("hello", 12);
使用map对象必须包含头文件map,而且作为key的类型必须定义了 < 运算操作;
不能使用map的下标操作来判断一个key是否存在于map中,而应当用find或者count函数来判断,因为下标操作即使元素不存在也会创建一个元素,并置为初始值。优先选择find函数来查找。
map<string, int> map1; map<string, int>::iterator it = map1.find("hello"); //找到就返回该元素的迭代器,没找到就返回map1.end()迭代器 int count = map1.count("hello"); //对于map来说只能返回0 或者 1
map的常用操作有:insert(key),map[key]=value,erase(key),find(key),count(key)等等。
使用set对象必须包含头文件set,set中的元素类型都是const,不能修改,而且都不重复。set常用操作有:insert(key),erase(key),find(key),count(key)等等。
set头文件中还有multiset,map头文件中还有multimap,都支持多个相同key的元素,这些相同key的元素都相邻存放。需要访问时提供了起始和终止下一位置的迭代器,这时候count()函数就体现出它的意义。
multiset<string> ms; ms.insert("hello"); ms.insert("hello"); multiset<string>::iterator beg = ms.lower_bound("hello"); multiset<string>::iterator end = ms.upper_bound("hello"); while (beg != end) { cout << *beg++ << endl; }
相关文章推荐
- 【C++primer】第十章——关联容器——单词统计程序
- 第十章-关联容器----重学C++之《 C++ PRIMER》
- C++Primer新笔记之----第11章 使用关联容器
- 《C++primer(第五版)》学习之路-第十一章:关联容器
- C++ Prime 第十章 关联容器
- C++ Primer 第十章 关联容器
- 第十章-关联容器----重学C++之《 C++ PRIMER》
- 【C++ Primer】【学习笔记】【第十章】关联容器之:map类型
- C++primer_关联容器之map
- C++primer第五版笔记-第十一章关联容器
- C++ primer读书笔记 第十章 关联容器
- 【C++ Primer】【学习笔记】【第十章】关联容器之:multimap和multiset类型
- C++Primer_第11章_关联容器
- c++primer第十一章关联容器小结-11
- 关联容器 - 1【C++ Primer 学习笔记 - 第十章】
- c++primer关联容器中的“单词转换map程序”分析
- c++Primer,九,十,顺序容器,关联容器
- 第十章 关联容器(上)
- C++Primer学习笔记第十章(10/18)关联容器
- 关联容器 - 2【C++ Primer 学习笔记 - 第十章】