如果对字符串进行hash求值,并且想对同样的字符串得到同样的值,那么注意别用hash<const char *>求值,而用hash<string>来求值。
因为第一个是地址,第二个是对象。第一个得到的值是随机的,第二个是固定的。
这个问题不是特别难理解,但是在项目中经常看到类似的错误。
博客指出对字符串进行hash求值,若要同样字符串得到同样值,应使用hash<string>而非hash<const char *>。前者是对地址求值,结果随机;后者对对象求值,结果固定。此类错误在项目中常见。
如果对字符串进行hash求值,并且想对同样的字符串得到同样的值,那么注意别用hash<const char *>求值,而用hash<string>来求值。
因为第一个是地址,第二个是对象。第一个得到的值是随机的,第二个是固定的。
这个问题不是特别难理解,但是在项目中经常看到类似的错误。
574
2284

被折叠的 条评论
为什么被折叠?