gpt4 book ai didi

c++ - 比较C++中的结构

转载 作者:行者123 更新时间:2023-11-30 05:40:30 25 4
gpt4 key购买 nike

有谁知道通用方法struct 声明比较函数,以便我可以在排序、优先级队列、映射、设置中使用它...... .

我也知道如何在声明具有结构作为键的数据结构(如 map )时指定比较函数(在我有两个或多个比较函数的情况下)

提前谢谢你

最佳答案

方法怎么可能“通用”?

假设您有这个结构。

struct MyStruct{
A a; // A is your own class
};

编译器如何知道如何比较类型 A 的对象?

你需要自己定义一个比较运算符。

bool operator()(const MyStruct& s1, const MyStruct& s2);

在创建例如 std::map 时,此函数可以作为比较函数给出。

explicit map (const key_compare& comp = key_compare(),
const allocator_type& alloc = allocator_type());

std::map

comp: Binary predicate that, taking two element keys as argument, returns true if the first argument goes before the second argument in the strict weak ordering it defines, and false otherwise.

默认为

less<key_type>

关于c++ - 比较C++中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606145/

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