问题标签 [stdhash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4425 浏览

c++ - 为什么不是 std::hash专门用于 char*?

为什么 C++ 标准不指定std::hash<T>专门用于char*const char*unsigned char*const unsigned char*等?即,它将散列 C 字符串的内容,直到找到终止的空值。

将我自己的专业化注入我std自己的代码的命名空间有什么害处吗?

0 投票
2 回答
1784 浏览

c++11 - 为什么 std::hash 不是重载函数?

我猜std::hash被定义为模板结构,以避免在重载函数解析期间进行隐式类型转换。这是正确的说法吗?

我的意思是,我更愿意写

代替

但我猜标准委员会选择第二个选项是有原因的。

0 投票
1 回答
4332 浏览

c++11 - c++11速度比较/成本std::hashequal 与 std::string 直接在 2 个大字符串上相等

嗨,我有一个关于 std::hash 的问题,如果我有 2 个大字符串进行比较,我愿意接受 std::hash 在大多数情况下比较相等,是否更符合性能,而不是直接执行以下操作字符串比较?还要考虑这将在一个循环中读取文件,因此它将被执行多次,这是对大文件的关注。

0 投票
2 回答
7045 浏览

c++ - 我可以覆盖 std::hash 吗?

std::hash我可以用我自己std::hash在 C++ 11 中的定义替换实际的实现吗?

我的意思是从我的代码库中,而不涉及标准库。

在这种情况下,我看不到虚函数/多态性的任何用途,所以我想我无论如何都不能改变 std::hash 的定义?

0 投票
1 回答
469 浏览

c++ - 'std::hash 上的 Clang 编译错误'

我正在尝试在我的 mac 上编译一个项目,该项目最初是在 linux 上编写的。它在archlinux上运行顺利,但在mac上有很多错误。特别是,我对此错误消息感到非常困惑:

这是相关代码:(tagged_index.hpp)

我在这个 hpp 文件中包含了功能。

0 投票
3 回答
3758 浏览

c++ - std::hash 可以用来散列函数指针吗?

C++11std::hash类型可以用来散列函数指针吗?有一个hash偏特化定义为

但由于函数指针与 C++ 中的其他指针类型不同(例如,它们不能强制转换为void*),所以我不确定将它用于诸如int(*)()或之类的类型是否安全void(*)(int, int)

这是允许的吗?新的 ISO 规范中是否有任何具体的措辞支持或反驳这一点?

谢谢!

0 投票
1 回答
3925 浏览

c++ - std::hash 算法和大小

我正在使用 C++11 和 std::hash 算法。我想知道,使用的是什么实际的哈希实现?我会假设 MD5 或 SHA,但我无法从互联网上挖掘任何信息。

另外,我想知道哈希的实际返回位宽,因为我必须将它存储在 MySQL 中。

最后,是否最好使用 std::hash,而不是其他一些库,例如 crypto++ ?

0 投票
2 回答
9584 浏览

c++ - 为什么 std::hash 是结构而不是函数?

标准库将 std::hash 实现为专门用于不同类型的模板结构。它是这样使用的:

我的问题是这种设计选择背后的原因是什么。为什么它没有作为模板函数实现并像这样使用:

0 投票
2 回答
2210 浏览

c++ - 无序映射中唯一 ptr 的 std::hash

我正在尝试将多态类型作为映射中的键。

我想出了以下两个结构:

请注意,这Game是一个抽象类,我使用的数据结构是:

whilegamePtr是一个typedeffor:

比较cmp_games器似乎工作正常,但std::hash不是因为它试图复制 a unique_ptr(这是不可能的)而且我不知道如何克服它。很想听听一些建议(如果可能的话)。

编辑:比较器似乎也无法正常工作。如何使此地图unique_ptr作为键正常工作?

编辑2:

想出了:

他们应该足够吗?

0 投票
1 回答
2232 浏览

c++11 - 将 std::hash 专门用于派生类

我有一个抽象基类Hashable,可以从中派生出可以散列的类。我现在想扩展std::hash到所有派生自Hashable.

下面的代码应该正是这样做的。

上面的代码与 gcc 4.8.1 完全一样,但是当我尝试使用 gcc 4.7.2 编译它时,我得到以下信息:

任何人都可以想出一种方法来为从gcc 4.7.2std::hash派生的任何类进行这种专门化的工作吗?Hashable