gpt4 book ai didi

c++ - map 在运行时选择 `std::greater` 或 `std::less`

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:26 29 4
gpt4 key购买 nike

这一行:

std::map<long int, long int, std::greater<long int>> current_book;

我想用以下逻辑等价物替换它:

int Side = ...
if (Side == 1){
std::map<long int, long int, std::greater<long int>> current_book;
} else {
std::map<long int, long int, std::less<long int>> current_book;
}

最佳答案

您可以为此使用 std::function:

using mymap = std::map<long,long,std::function<bool(long,long)>>;
auto m = Side ? mymap( std::less<long>() ) : mymap( std::greater<long>() );

live example

关于c++ - map 在运行时选择 `std::greater` 或 `std::less`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53451789/

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