C++11 是否为 std::type_info 提供哈希函数?

2024-01-04

我仍在努力寻找一个好的解决方案来解决我的问题独一无二的容器问题 https://stackoverflow.com/questions/3221501/oneofatype-container-storing-one-each-of-a-given-type-in-a-container-am-i-o- 经过反思,我认为能够使用类似的东西会很好std::map<std::type_info, boost::any>。很遗憾,std::type_info没有定义一个operator<,我认为对其进行定义是不合理的。

然而,为它定义一个哈希函数似乎是合理的,因为您可以简单地使用std::type_info对象作为合理的“哈希”。因此,你可以把std::type_info into a std::unordered_map作为钥匙。

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


你也可以使用类型索引 http://en.cppreference.com/w/cpp/types/type_index,它安全地保存一个指向 type_info 的指针,它是可复制的、可比较的,并且为标准容器提供了哈希函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++11 是否为 std::type_info 提供哈希函数? 的相关文章

随机推荐

  • Bootstrap 5 alpha 2 卡组示例未像文档中那样显示

    我为卡片台插入了这个示例 并认为它会像文档中所示的那样显示 但事实并非如此 https stackpath bootstrapcdn com bootstrap 5 0 0 alpha2 css bootstrap min css 我正在使
  • 用于“未保存数据”保护的客户端/JS 框架?

    我们有一个典型的 Web 应用程序 它本质上是一个数据输入应用程序 有很多屏幕 其中一些屏幕具有一定程度的复杂性 我们需要提供标准功能 以确保如果用户在离开或关闭浏览器之前忘记单击 保存 按钮 他们会收到警告并可以取消 但仅当存在未保存或脏
  • 如何在javascript中模拟HTML5拖放事件?

    正如标题 我试图在 JavaScript 中模拟 HTML5 拖放事件 我研究了 jquery ui simulate 以及模拟功能here https stackoverflow com questions 6157929 how to
  • 如何为连接表创建 DAO?

    我目前正在学习使用Dao我的项目中的模式 我知道 一张表相当于一张Dao 我对吗 就像StudentDao SubjectDao Each Dao施行CRUD相关表中的操作 但我的问题是 我将如何创建一个DAO对于连接表 假设我有一个查询来
  • NSManagedObject 属性数组

    我想获得我的属性的数组NSManagedObject所以我可以使用 KVO 来导出它们 我可以手动创建一个数组 然后迭代它 但是 我想自动获取此列表 然后迭代 NSManagedObject 有一个与其关联的实体 使用NS实体描述 http
  • 为什么 C# 中结构体的推荐大小为 16 字节?

    我读了 Cwalina 书 有关 NET 应用程序开发和设计的建议 他说 一个设计良好的结构体的大小必须小于 16 个字节 出于性能目的 到底是为什么呢 而且 更重要的是 如果我运行 NET 3 5 很快将成为 NET 4 0 我可以拥有更
  • p:dataTable 中的 SummaryRow 不起作用

    我试图在我的数据表上显示总价值 我的代码类似于 primefaces 展示数据表 摘要行 http www primefaces org showcase ui data datatable summaryRow xhtml但仍然不工作
  • 循环中的 OVER_QUERY_LIMIT

    我在使用 Google Places Javascript 库时收到 OVER QUERY LIMIT 状态代码 我的帐户启用了计费功能 因此实际上并不是我达到了发出的地点请求数量的限制 而是我正在使用 Javascript 库并循环处理数
  • 阻止特定 CSS 文件在 Yii 中加载

    我正在 Yii 中编码 我已在 main php 布局文件中注册了 main css 文件 如下所示 Yii app gt clientScript gt registerCssFile this gt assetsBase css mai
  • Hibernate中sql、oracle和mysql中的nvarchar注释映射

    我们使用 MS SQL Oracle 和 mysql 作为我们的数据库 我们使用hibernate注释来创建表 在注释类文件中我们将列定义声明为 Column name UCAALSNO nullable false columnDefin
  • 在字符串中使用运算符(Qualtrics + JavaScript)

    如果有人熟悉调查程序 我会尝试使用 Qualtrics 并且我正在嵌入 JavaScript 以便以特定方式对某些问题进行评分 我遇到的问题是 我试图将字符串与运算符连接起来 但它失败了 但是当我在不同的编辑器中尝试时 字符串运算符工作正常
  • 一个目录(同一级别)中的多个存储库 - 可能吗?

    我最初的问题是我有一个编写各种脚本的目录 它们中的每一个都是独立的 并且通常是一个文件长 我想对它们应用一些版本控制 但我有以下问题 要求 I 不想要必须储存每个小脚本 in a 单独的目录 I don t want to store th
  • 是否有任何 Java 库使用注释来生成代码?

    有谁知道使用中描述的技术 注释和类工作 的库本文 http www ibm com developerworks java library j cwt06075 自动生成标准 Java 类的标准对象方法 toString equals 和
  • 设置 TeamCity 以集成到 OSX Build Agent

    继我的问题之后设置 Teamcity 来构建 Android https stackoverflow com questions 28839437 setting up teamcity to build android studio pr
  • 使用 ASP.net 4 MVC 时,“tsc.exe”退出并显示代码 1

    我正在按照 TypeScript 网站上的教程将 TypeScript 和 Angular 2 添加到我的 ASP net MVC 项目中 教程可以从Typescript网站找到here https www typescriptlang o
  • 未解析的参考:将 gradle 转换为 gradle.kts 时的 ext

    默认情况下 当我从 Android Studio 创建撰写应用程序时 它会给我ext如下在我的根项目中build gradle buildscript ext compose version 1 0 0 repositories googl
  • Android 10 中 LocalService 和 LocalBinder 内存泄漏

    我有一个LocalService完全按照此处建议的实现 以便通过绑定器提供对服务方法的访问 https developer android com guide components bound services Binder https d
  • Java 脚本安全性(JRuby、Jython、Groovy、BeanShell 等)

    我希望运行一些未经验证的脚本 用尚未确定的语言编写 但需要基于 Java 因此 JRuby Groovy Jython BeanShell 等都是候选者 我希望这些脚本能够执行某些操作并限制执行其他操作 通常 我会使用 Java 的 Sec
  • 声明字符时char和int的区别

    我刚刚开始学习 C 对使用 int 和 char 声明字符感到相当困惑 我很清楚 任何字符都是由整数组成的 因为字符的 整数 是字符各自的 ASCII 小数 也就是说 我了解到完全可以使用int不使用 ASCII 小数 例如 声明变量tes
  • C++11 是否为 std::type_info 提供哈希函数?

    我仍在努力寻找一个好的解决方案来解决我的问题独一无二的容器问题 https stackoverflow com questions 3221501 oneofatype container storing one each of a giv