std::multimap_C++中文网

定义于头文件 <map>

template<

    class Key,
    class T,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<std::pair<const Key, T> >

> class multimap;

(1)

namespace pmr {

    template <class Key, class T, class Compare = std::less<Key>>
    using multimap = std::multimap<Key, T, Compare,
                                  std::pmr::polymorphic_allocator<std::pair<const Key,T>>>;

}

(2) (C++17 起)

multimap 是关联容器,含有关键-值 pair 的已排序列表,同时容许多个入口拥有同一关键。按照应用到关键的比较函数 Compare 排序。搜索、插入和移除操作拥有对数复杂度。

拥有等价关键的关键-值 pair 的顺序就是插入顺序,且不会更改。(C++11 起)

凡在标准库使用比较 (Compare) 概念出,都用描述于比较 (Compare) 上的等价关系确定等价性。不精确地说,若二个对象 ab 互不小于对方: !comp(a, b) && !comp(b, a) ,则认为它们等价。

std::multimap 满足容器 (Container) 具分配器容器 (AllocatorAwareContainer) 关联容器 (AssociativeContainer) 可逆容器 (ReversibleContainer) 的要求。

成员类型

成员类

成员函数

构造 multimap
(公开成员函数)
析构 multimap
(公开成员函数)
赋值给容器
(公开成员函数)
返回相关的分配器
(公开成员函数)
迭代器
返回指向容器第一个元素的迭代器
(公开成员函数)
返回指向容器尾端的迭代器
(公开成员函数)
返回指向容器最后元素的逆向迭代器
(公开成员函数)
返回指向前端的逆向迭代器
(公开成员函数)
容量
检查容器是否为空
(公开成员函数)
返回容纳的元素数
(公开成员函数)
返回可容纳的最大元素数
(公开成员函数)
修改器
清除内容
(公开成员函数)
插入元素或结点 (C++17 起)
(公开成员函数)

(C++11)

原位构造元素
(公开成员函数)
使用提示原位构造元素
(公开成员函数)
擦除元素
(公开成员函数)
交换内容
(公开成员函数)

(C++17)

从另一容器释出结点
(公开成员函数)

(C++17)

从另一容器接合结点
(公开成员函数)
查找
返回匹配特定键的元素数量
(公开成员函数)
寻找带有特定键的元素
(公开成员函数)

(C++20)

检查容器是否含有带特定关键的元素
(公开成员函数)
返回匹配特定键的元素范围
(公开成员函数)
返回指向首个不小于给定键的元素的迭代器
(公开成员函数)
返回指向首个大于给定键的元素的迭代器
(公开成员函数)
观察器
返回用于比较键的函数
(公开成员函数)
返回用于在value_type类型的对象中比较键的函数。
(公开成员函数)

非成员函数

推导指引(C++17 起)