将typeid().hash_code()存储为16位整数

Store a typeid().hash_code() into a 16 bits integer

本文关键字:16位 整数 存储 typeid hash code      更新时间:2023-10-16

我想知道是否将typeid().hash_code()返回的size_t存储为一个常量大小的16位无符号整数可以被认为是安全的,或者如果这可能会产生碰撞。最安全的方式是什么?

谢谢!

这是安全的,但也可能产生碰撞。碰撞没有什么"不安全"的。碰撞只会略微降低性能,因为如果哈希发生碰撞,您必须比较更多的完整值。

不匹配的哈希码确保值不能匹配。匹配的哈希码只意味着它们可能是相同的。哈希码用于减少所需的完整比较的次数——您只需要比较哈希码匹配的值。