std::map 是一種有序關聯容器,它包含具有唯一鍵的鍵值對。鍵之間以比較函數 Compare 排序。搜索、移除和插入操作擁有對數複雜度。map 通常實現為紅黑樹。 std::map 的迭代器以升序迭代各鍵,此升序由構造時所用的比較函數定義。就是說,給定 m,一個 std::map it_l 和it_r,m 的可解引用迭代器,且 it...
std::map满足容器(Container)、知分配器容器(AllocatorAwareContainer)、关联容器(AssociativeContainer)和可逆容器(ReversibleContainer)。 std::map的全部成员函数均为constexpr:在常量表达式求值中创建并使用std::map对象是可能的。 然而,std::map对象通常不能为constexpr,因为任何动态分配的存储都必须在相同的常量表达式...
#include <iostream> #include <map> void println(auto rem, auto const& container) { std::cout << rem << '{'; for (char sep[]{0, ' ', 0}; const auto& [key, value] : container) std::cout << sep << '{' << key << ", " << value << '}', *sep = ','; std::cou...
map_name.insert({key, value}); 或者 cpp map_name[key] = value; 访问元素: cpp value_type value = map_name[key]; 如果键不存在,使用 operator[] 会插入一个新的键值对,并返回该类型的默认值。 删除元素: cpp map_name.erase(key); 查找元素: cpp auto it = map_name.find(key); if...
map(std::from_range_t, R&&rg, constCompare&comp=Compare(), constAllocator&alloc=Allocator()); (12)(since C++23) template<container-compatible-range<value_type>R> map(std::from_range_t, R&&rg, constAllocator&alloc) :map(std::from_range,std::forward<R>(rg), Compare(), alloc){} ...
>deque 可以常数时间下标访问,但是内存不连续 >priority_queue 可以了解如何修改或自定义比较函数,例如priority_queue<T, vector<T>, greater<T>> >unordered_map 可以学习哈希表相关知识 >array 可以当作部分 pair 和 tuple 的替用品,或者替代原生数组
map−unordered_map(C++11) priority_queue−span(C++20) その他のコンテナ: シーケンス−連想 非順序連想−アダプタ イテレータライブラリ 範囲ライブラリ(C++20) アルゴリズムライブラリ 数値演算ライブラリ 一般的な数学関数
unordered_map(C++11) unordered_multimap(C++11) unordered_set(C++11) unordered_multiset(C++11) Container adaptors span(C++20)−mdspan(C++23) Iterators library Ranges library(C++20) Range factories−Range adaptors generator(C++23) Algorithms library ...
basic_string_view (C++17) Chaînes terminées par null: byte − multibyte − wide Conteneurs array (C++11) − vector map − unordered_map (C++11) priority_queue − span (C++20) Autres conteneurs: sequence − associative unordered associative − adaptors Itérate...
unordered_map(C++11) unordered_multimap(C++11) unordered_set(C++11) unordered_multiset(C++11) stack−queue−priority_queue span(C++20) Biblioteca de iteradores Biblioteca de ranges(C++20) Biblioteca de algoritmos Constrained algorithms(C++20) ...