gpt4 book ai didi

c++ - C++11 是否为 std::type_info 提供散列函数?

转载 作者:可可西里 更新时间:2023-11-01 17:08:34 24 4
gpt4 key购买 nike

我仍在为我的 One-Of-A-Type Container Problem 寻找一个好的解决方案-- 经过深思熟虑,我认为能够只使用像 std::map<std::type_info, boost::any> 这样的东西会很好.不幸的是,std::type_info没有定义 operator< ,我认为它定义一个是不合理的。

然而,为它定义一个散列函数似乎是合理的,因为你可以简单地使用 std::type_info 的单例地址。对象作为合理的“哈希”。因此,您可以输入 std::type_info进入std::unordered_map作为关键。

C++11有提供这样的哈希函数吗?将使用 std::type_info 的内存地址单例是一个糟糕的哈希策略?

最佳答案

你也可以使用 type_index ,它安全地持有指向 type_info 的指针,它是可复制的、可比较的,并且为标准容器提供了哈希函数。

关于c++ - C++11 是否为 std::type_info 提供散列函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3552135/

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