问题标签 [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.
c++ - 为什么不是 std::hash专门用于 char*?
为什么 C++ 标准不指定std::hash<T>
专门用于char*
、const char*
、unsigned char*
、const unsigned char*
等?即,它将散列 C 字符串的内容,直到找到终止的空值。
将我自己的专业化注入我std
自己的代码的命名空间有什么害处吗?
c++11 - c++11速度比较/成本std::hashequal 与 std::string 直接在 2 个大字符串上相等
嗨,我有一个关于 std::hash 的问题,如果我有 2 个大字符串进行比较,我愿意接受 std::hash 在大多数情况下比较相等,是否更符合性能,而不是直接执行以下操作字符串比较?还要考虑这将在一个循环中读取文件,因此它将被执行多次,这是对大文件的关注。
c++ - 我可以覆盖 std::hash 吗?
std::hash
我可以用我自己std::hash
在 C++ 11 中的定义替换实际的实现吗?
我的意思是从我的代码库中,而不涉及标准库。
在这种情况下,我看不到虚函数/多态性的任何用途,所以我想我无论如何都不能改变 std::hash 的定义?
c++ - 'std::hash 上的 Clang 编译错误'
我正在尝试在我的 mac 上编译一个项目,该项目最初是在 linux 上编写的。它在archlinux上运行顺利,但在mac上有很多错误。特别是,我对此错误消息感到非常困惑:
这是相关代码:(tagged_index.hpp)
我在这个 hpp 文件中包含了功能。
c++ - std::hash 可以用来散列函数指针吗?
C++11std::hash
类型可以用来散列函数指针吗?有一个hash
偏特化定义为
但由于函数指针与 C++ 中的其他指针类型不同(例如,它们不能强制转换为void*
),所以我不确定将它用于诸如int(*)()
或之类的类型是否安全void(*)(int, int)
。
这是允许的吗?新的 ISO 规范中是否有任何具体的措辞支持或反驳这一点?
谢谢!
c++ - std::hash 算法和大小
我正在使用 C++11 和 std::hash 算法。我想知道,使用的是什么实际的哈希实现?我会假设 MD5 或 SHA,但我无法从互联网上挖掘任何信息。
另外,我想知道哈希的实际返回位宽,因为我必须将它存储在 MySQL 中。
最后,是否最好使用 std::hash,而不是其他一些库,例如 crypto++ ?
c++ - 为什么 std::hash 是结构而不是函数?
标准库将 std::hash 实现为专门用于不同类型的模板结构。它是这样使用的:
我的问题是这种设计选择背后的原因是什么。为什么它没有作为模板函数实现并像这样使用:
c++ - 无序映射中唯一 ptr 的 std::hash
我正在尝试将多态类型作为映射中的键。
我想出了以下两个结构:
请注意,这Game
是一个抽象类,我使用的数据结构是:
whilegamePtr
是一个typedef
for:
比较cmp_games
器似乎工作正常,但std::hash
不是因为它试图复制 a unique_ptr
(这是不可能的)而且我不知道如何克服它。很想听听一些建议(如果可能的话)。
编辑:比较器似乎也无法正常工作。如何使此地图unique_ptr
作为键正常工作?
编辑2:
想出了:
他们应该足够吗?
c++11 - 将 std::hash 专门用于派生类
我有一个抽象基类Hashable
,可以从中派生出可以散列的类。我现在想扩展std::hash
到所有派生自Hashable
.
下面的代码应该正是这样做的。
上面的代码与 gcc 4.8.1 完全一样,但是当我尝试使用 gcc 4.7.2 编译它时,我得到以下信息:
任何人都可以想出一种方法来为从gcc 4.7.2std::hash
派生的任何类进行这种专门化的工作吗?Hashable