gpt4 book ai didi

c++ - std::sort 降序与运算符重载

转载 作者:太空狗 更新时间:2023-10-29 23:43:56 25 4
gpt4 key购买 nike

我有一个 std::vector我为其重载了 < 的对象运算符(operator)。

如何使用 std::sort以降序排序(无需编写我自己的比较器)?

最佳答案

您可以在 std::bind 的帮助下简单地将参数转换为 std::less:

using namespace std::placeholders;
std::sort(v.begin(), v.end(), std::bind(std::less<T>{}, _2, _1));

但我认为简单地编写等效的短 lambda 会更清晰,即使它违背了不编写自己的比较器的约束:

std::sort(v.begin(), v.end(), [](T const& lhs, T const& rhs) { return rhs < lhs; });

关于c++ - std::sort 降序与运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382094/

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