我想为我的对象使用散列存储。这真的比 快std::map<std::string, Object>
吗?我的意思是搜索。据我所知,boost 过程有很多优化。
而且我不确定我的代码是否正确。搜索/插入等时是否真的使用散列键?
using boost::multi_index_container;
using namespace boost::multi_index;
struct Object
{
std::string name;
Object(std::string name_): name(name_) {}
};
typedef multi_index_container<
Object,
indexed_by<
hashed_unique<
BOOST_MULTI_INDEX_MEMBER(Object, std::string, name)
>
>
> ObjectSet;
ObjectSet objects;
objects.insert(Object("test1"));
objects.insert(Object("test2"));
objects.insert(Object("test3"));
// And testing:
objects.find("test2");