std::map key 对象
时间: 2023-10-14 09:30:22 浏览: 131
std::map是C++标准库中的一个关联容器,它将一对键值(key-value)存在一个有序的集合中。默认情况下,std::map使用std::less来对key进行升序排列,可以使用std::greater来对key进行降序排序。
举个例子,如果我们创建一个std::map对象t,并插入一些键值对,如t.insert(std::make_pair(1, "a")); t.insert(std::make_pair(2, "b")); t.insert(std::make_pair(3, "c")); t.insert(std::make_pair(4, "d"));,那么t中的键值对的顺序将按照key的升序排序,即{1: "a", 2: "b", 3: "c", 4: "d"}。如果我们想要按照降序排序,可以使用std::greater作为std::map的第三个模板参数,即std::map<int, std::string, std::greater<int>> t;。这样,t中的键值对的顺序将按照key的降序排序,即{4: "d", 3: "c", 2: "b", 1: "a"}。
关于std::map与std::unordered_map的key为字符串的问题,可能是你在使用时遇到了一些困惑。如果有具体的问题或示例代码,可以提供更多细节,我可以帮助你解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [利用std::map和std::greater对key进行降序排列](https://blog.csdn.net/hp_cpp/article/details/109294914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [C++ map 根据value找key的实现](https://download.csdn.net/download/weixin_38647039/13759929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [C++ std::map 与 std::unordered_map 的 key 为 字符串的一些问题](https://blog.csdn.net/linjf520/article/details/107265219)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文