1、map 的键必须支持 <操作>
2、对迭代器进行解引用将获得一个 pair 对象,它的 first 成员存放键,为 const,而 second 成员则存放值。
3、使用下标访问 map 与使用下标访问数组或 vector 的行为截然不同:用下标访问不存在的元素将导致在 map 容器中添加一个新元素,它的键即为该下标值。简而言之:对于 map 容器,如果下标所表示的键在容器中不存在,则添加新元素,这一特性可使程序惊人地简练:
1: // count number of times each word occurs in the input2: map<string, int> word_count; // empty map from string to int3: string word;4: while (cin >> word)5: ++word_count[word];
但是这一特性对使用下标访问map中的元素时造成了麻烦:map 容器提供了两个操作:count 和 find,用于检查某个键是否存在而不会插入该键。
set键值均是不能重复的,同时是const的,所以set中的元素不能修改
multiset和multimap均是连续存储相同键值;lower_bound();upper_bound();equal_bound()
本文详细介绍了C++标准模板库(STL)中的map和set容器的特点与使用方法,包括键值对的存储方式、如何通过迭代器访问元素、以及set容器的特点等。此外还探讨了使用下标访问元素时的注意事项。
548

被折叠的 条评论
为什么被折叠?



