构造函数

  • map(): 默认构造函数,创建一个空的 map
  • map(const Compare& comp, const Allocator& alloc = Allocator()): 使用自定义比较函数和分配器构造 map
  • map(InputIterator first, InputIterator last, const Compare& comp = Compare(), const Allocator& alloc = Allocator()): 用一对迭代器的范围初始化 map
  • map(const map& other): 拷贝构造函数。
  • map(map&& other) noexcept: 移动构造函数。

赋值操作

  • map& operator=(const map& other): 拷贝赋值操作符。
  • map& operator=(map&& other) noexcept: 移动赋值操作符。

迭代器

  • begin(): 返回指向 map 中第一个元素的迭代器。
  • end(): 返回指向 map 中最后一个元素之后的迭代器。
  • rbegin(): 返回指向 map 中最后一个元素的反向迭代器。
  • rend(): 返回指向 map 中第一个元素之前的反向迭代器。

容量

  • empty() const: 检查 map 是否为空。
  • size() const: 返回 map 中的元素数量。
  • max_size() const: 返回 map 能够容纳的最大元素数量。

查找

  • find(const Key& key): 查找并返回一个迭代器,指向 key 对应的元素,如果不存在则返回 end()
  • count(const Key& key) const: 返回 keymap 中的元素个数(map 中每个键最多出现一次)。
  • lower_bound(const Key& key): 返回指向 key 或大于 key 的第一个元素的迭代器。
  • upper_bound(const Key& key): 返回指向 key 大于的第一个元素的迭代器。
  • equal_range(const Key& key): 返回一个包含两个迭代器的 pair,分别指向 key 的第一个匹配元素和最后一个匹配元素之后的位置。

插入和删除

  • insert(const value_type& value): 插入一个新的元素,如果 key 已经存在,则不插入。
  • insert(value_type&& value): 移动插入一个新的元素。
  • insert(InputIterator first, InputIterator last): 插入一对迭代器范围内的所有元素。
  • emplace(Args&&... args): 使用给定的参数构造并插入一个新元素。
  • emplace_hint(const_iterator hint, Args&&... args): 使用给定的参数和提示迭代器构造并插入一个新元素。
  • erase(const_iterator position): 删除指定位置的元素。
  • erase(const Key& key): 删除具有指定 key 的元素。
  • erase(const_iterator first, const_iterator last): 删除指定范围内的所有元素。
  • clear(): 删除所有元素。

访问

  • at(const Key& key): 返回一个对 key 对应值的引用,如果 key 不存在则抛出 std::out_of_range 异常。
  • operator[](const Key& key): 如果 key 存在,返回对应的值;否则,插入一个新元素并返回其值的引用。

其他

  • swap(map& other) noexcept: 交换两个 map 的内容。
  • get_allocator() const: 返回用于 map 的分配器。

0 条评论

目前还没有评论...