为什么std::unordered_set::find只支持以key查找?
以我的愚见,std c++的一些基本行为,虽然细节不甚了解,但为何设计成那个样子,基本上还是明白的,除了这个std::unordered_set::find,由于它只能以key为查找,如果存的是对象(而非指针),为了查找一个对象,我还得先构造这个对象,这明显不合理。有人会说那用std::unordered_map啊,但这样一来,std::unordered_set是否显得有些多余?
我心中的unordered_set应该是boost::container::unordered_set那样:
template<typename KeyType, typename KeyHasher, typename KeyEqual>
iterator find(const KeyType &, KeyHasher, KeyEqual);
可以看到它支持以任意key type为key来查找对象。
我心中的unordered_set应该是boost::container::unordered_set那样:
template<typename KeyType, typename KeyHasher, typename KeyEqual>
iterator find(const KeyType &, KeyHasher, KeyEqual);
可以看到它支持以任意key type为key来查找对象。
...全文


