c++ - uint32_t 作为映射键的数据类型

标签 c++ ip-address hash stdmap

我的问题是,如果我使用 uint32_t 作为 std::map 中键的数据类型,它会创建一个巨大的结构,其中每个 2^ 32种组合?基本上我想生成几个 32 位数字,每个数字都应该是唯一的。我有数字,但我想知道使用什么结构/技术来将它们保存在内存中。

最佳答案

不,它只会创建您插入的条目。 如果你只有少数(你提到了一对),那么将它们放在一个 vector 中并进行线性搜索可能会更快。如果它大于一个小数字, map 当然会更快。

关于c++ - uint32_t 作为映射键的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102446/

相关文章:

android - 如何在 Windows 8 中生成 SHA1 和 key 哈希

c++ - 在 cout 语句中连接数组大小

c++ - 构造函数中的C++封装和引用

php - IP 地址验证帮助

php - cURL 输出中的 "local_ip"和 "primary_ip"是什么意思?

hash - MD5 反向标识 : Does (X, Y) 存在,使得 md5(X)=Y 和 md5(Y)=X

c++ - 为什么延长临时对象的生命周期不会导致中间临时对象的延长?

c++ - 如何在 Windows 上正确安装 MinGW

通过 wlan 的 TCP 套接字

ruby - 如何深度转换 Ruby 哈希值