试图在std :: unordered_map

时间:2016-10-11 18:45:53

标签: c++ stl c++17

我收到了库存

std::unordered_map<std::reference_wrapper<Item>, int, ItemHasher> items;

ItemHasher

struct ItemHasher
{
    std::size_t operator()(const std::reference_wrapper<Item>& item) const
    {
        return item.get().getHash();
    }
};

如何在我的地图中放置项目? 我试过了

items.try_emplace(item, 1, /*Different variants*/);

但它没有按预期工作。

1 个答案:

答案 0 :(得分:0)

unordered_map存储它已经使用的哈希。将另一个传递给try_emplace几乎没有意义。

items.try_emplace(item, 1);