Java在每个称为hashCode()的类中都有一个方法,该方法返回一个数字。有没有什么方法可以做到这一点?我从STL尝试了std::hash <>,但它不适用于类,仅适用于原始类型。
例如:
Person p;
hash<Person> hs;
cout<<hs(p); // if i replace Person with `int, vector<bool> etc` it works
最佳答案
在C++中,没有默认的哈希码方法。
std::hash起作用的原因是std::hash具有针对该类型的已定义实现。
要定义您的哈希实现,您可以查找以下站点:https://de.cppreference.com/w/cpp/utility/hash
一般通知:
我强烈建议您摆脱Java的思想,因为Java和C++是两种完全不同的语言,具有不同的概念。我的建议是从头开始学习,除非您已经了解如何解决问题和如何编写代码。 (至少这是我所做的)
关于c++ - C++中的Java hashCode()等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61175627/