gpt4 book ai didi

c++ - 我可以(可移植地)访问 C++ 标准库的哈希实现吗?

转载 作者:太空狗 更新时间:2023-10-29 20:55:31 24 4
gpt4 key购买 nike

GNU C++ 标准库有:

  struct _Hash_impl
{
static size_t
hash(const void* __ptr, size_t __clength,
size_t __seed = static_cast<size_t>(0xc70f6907UL))
{ return _Hash_bytes(__ptr, __clength, __seed); }
/* etc. */
}

作为其实现的一部分(例如,这就是它在字符串上使用的内容)。现在,我也想使用该代码...如何以可移植的方式访问它(例如,以可与 clang 的 libc++ 一起使用的方式)?

最佳答案

。您无法以可移植的方式访问编译器的内部实现细节。这怎么可能行得通?

您甚至无法确定在同一编译器供应商的下一次编译器更新之后,该实现是否仍然存在。或者更糟的是,它可能仍然编译良好但具有不同的运行时行为。这是可维护性的噩梦和等待发生的无休止的调试 session 。

如果您将来需要可移植性或向后兼容性,请实现您自己的哈希函数并模仿 _Hash_impl 的行为。

关于c++ - 我可以(可移植地)访问 C++ 标准库的哈希实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35529149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com