C++ set和map的常用函数
时间: 2024-10-25 16:12:28 浏览: 21
在C++中,`set` 和 `map` 都是关联容器,它们分别实现了无序集合(基于比较规则)和有序键值对集合。这里简要介绍一些常用的函数:
**set常用函数:**
1. **insert(const T& val)**: 插入元素到集合中,如果元素已存在则不做操作。
2. **find(const Key& key)**: 查找指定键的元素,返回迭代器指向该元素的位置,如果没有找到则返回 `end()`。
3. **count(const Key& key)**: 返回集合中键等于 `key` 的元素个数。
4. **erase(const_iterator position)**: 删除指定位置的元素。
5. **size()**: 返回集合中元素的数量。
6. **empty()**: 检查集合是否为空。
**map常用函数:**
1. **insert(std::pair<const Key, Value>&& pr)**: 插入一个键值对,如果键已经存在,则更新对应的值。
2. **find(const Key& key)**: 查找指定键,返回一个迭代器指向对应的Value,若不存在则返回 `end()`。
3. **at(Key key)**: 类似 find,查找并返回值,但是如果不包含该键会抛出异常。
4. **operator[](const Key& key)**: 同样插入键值对,如果键不存在则自动创建,类似 `insert`.
5. **size()**: 获取键值对的数量。
6. **clear()**: 清空整个映射。
7. **begin()**: 返回第一个键值对的迭代器。
8. **end()**: 返回最后一个键值对之后的一个位置。
阅读全文