使用 string* 作为 unordered_set 中的键
我想使用 string* 作为 unordered_list 中的键。我不想要指针本身的散列,而是它指向的字符串。
我知道我需要创建一个像这样的结构:
struct myhash{
size_t operator()(const string * str){
return hash(*str);
}
}
并将其作为 aa 哈希器发送到地图模板,但我不确定如何。
I would like to put use a string* as a key in an unordered_list. I do not want the hash the pointer itself but the string it points to.
I understand I need to create a struct like this:
struct myhash{
size_t operator()(const string * str){
return hash(*str);
}
}
and send it as a a hasher to the map template, but i am not sure how.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基本上就是这样。然后,将其作为第三个模板参数提供给
unordered_map
类型(我假设是 C++0x 类型)。我会对其进行概括,以便它在任何情况下都可用,而不仅仅是string
:That's basically it. You then provide it as the third template parameter to the
unordered_map
type (Which I will assume to be the C++0x one). I would generalize it so it's usable in any situation, rather than juststring
: