使用std::Range::Min在std::map上投影 [英] Projecting on a std::map with std::ranges::min

查看:15
本文介绍了使用std::Range::Min在std::map上投影的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可以在std::map上投影吗?我尝试使用std::Range::Min投影,但它似乎抛出了错误,我无法解释它为什么不喜欢东西。

#include <set>
#include <iostream>
#include <ranges> 
#include <vector>
#include <iostream>
#include <map>
#include <algorithm>

int main()
{
    std::map<int, int> usage_table;
    auto lowest = std::ranges::min( std::move(usage_table), 
                                   {}, 
                                   &std::map<int,int>::value_type::second );
}

我可以解决这个问题,但如果这个衬垫能用就好了。

最佳

推荐答案

您可以像这样使用std::ranges::min_element来代替std::ranges::min

auto lowest = *std::ranges::min_element(std::move(usage_table), 
                                        {}, 
                                        &std::map<int,int>::value_type::second);

此外,还不清楚您为什么要movemap,它似乎没有做任何有用的事情。

这篇关于使用std::Range::Min在std::map上投影的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆