c++ - C++中的Java hashCode()等效项

标签 c++ oop hash

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/

相关文章:

java - 如何使方法接受具有两个接口(interface)的实例?

java - 如何在Java中根据主题划分RDF三元组

c++ - 为 C/C++ 标准库、boost 和第三方库设置单独的 ctags 数据库

php - 在不创建实例的情况下获取类属性

c++ - Xbox Controller 拇指输入

python - 如何在 python 中创建全新的对象而不干扰旧对象?

hash - 将 UUID 数字流随机分为 10 个桶

java - 如何使用 native 库(即 hashlib)在 Python 中迭代 sha256,使用字节 [] 作为输入而不是十六进制字符串

c++ - OnShow 事件上的 ProcessMessages c++ builder

c++ - 如何在 VC++ 中添加用于编译的外部库?