【发布时间】:2021-12-21 10:24:33
【问题描述】:
我正在使用带有自定义相等比较器类的 std::unordered_map,如下所示:
class KeyCompare {
private:
HelperClass* helper;
public:
KeyCompare(HelperClass* helper): helper(helper) {}
bool operator()(const Key& key1, const Key& key2) const {
return helper->doStuff(key1, key2);
}
}
在我的代码中,我会像这样初始化我的地图:
HelperClass helper;
std::unordered_map<Key, Value, Hasher, KeyCompare> map;
我想将helper 传递给映射,以便使用此helper 创建KeyCompare 对象。这样的事情可能吗?如果绝对必要,我可以使用一些全局变量,但我真的很想避免这种情况。
【问题讨论】:
标签: c++ unordered-map