gpt4 book ai didi

c++ - 使用 find 函数,如何在 C++ 上使用 multimap 找到某个键​​的最后一次出现(而不是第一次出现)?

转载 作者:行者123 更新时间:2023-12-02 02:21:07 27 4
gpt4 key购买 nike

我有一个包含多个相似键的多重 map 集。它已排序,我需要首先获取最后一次出现的值。

最佳答案

std::multimap::equal_range查找不小于搜索关键字的第一个元素和大于搜索关键字的第一个元素,如果搜索关键字不存在,则它们相等:

#include <map>
#include <iterator>

std::multimap<int, int> mmap{{1,1}, {2,2}, {2,2}, {4,4}};
std::optional<decltype(mmap)::mapped_type> value{};
if(auto [first,last] = mmap.equal_range(key); first != last) {
value = std::make_optional((std::prev(last, 1))->second);
}
if(value.has_value()) {
//Do the Thing!
}

关于c++ - 使用 find 函数,如何在 C++ 上使用 multimap 找到某个键​​的最后一次出现(而不是第一次出现)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66416785/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com