std::unordered_set 是否连续(如 std::vector)?

2023-11-24

我将指针存储在 std::unordered_set 中。我这样做是因为我不想要任何重复项(我删除集合中的指针,因此如果存在重复项,我将尝试删除已删除的指针)。我大量循环遍历这些集合,并且因为我知道 std::vector 是最快的循环容器(连续内存),所以我想知道 std::unordered_set 是否也这样做。

如果没有,使用 std::vector 并检查指针是否已被删除会更快吗?


Is std::unordered_set连续的?

标准中没有详细说明容器的具体实现......however该标准确实规定了许多限制实际表示的行为。

例如,std::unordered_set需要内存稳定:即使添加/删除元素的引用/地址也是有效的other元素。

实现这一目标的唯一方法是或多或少独立地分配元素。它无法通过连续的内存分配来实现,因为这样的分配必然是有界的,因此可能会过度增长,而无法在更大的块中重新分配元素。

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

std::unordered_set 是否连续(如 std::vector)? 的相关文章

随机推荐

  • yii 中验证规则的场景

    我在想是否有机会使用场景作为规则 在我的模型中我有 public function rules return array array delivery firstNameBilling lastNameBilling addressBill
  • 方向更改期间保存 Tab 状态

    我有 2 个选项卡 例如屏幕上显示的 Tab1 和 Tab2 让选项卡以纵向显示 Tab1 显示活动 1 Tab2 显示活动 2 目前 选中的选项卡状态为Tab2 现在 我将 PORTRAIT 的方向更改为 LANDSCAPE 将方向更改为
  • 将表单值提交给控制器

    这应该是非常简单的事情 但我就是无法理解 我正在学习 codeigniter 我有一个包含以下代码的表单
  • 我可以在 React 组件的构造函数中使用箭头函数吗?

    这个问题类似于使用 React 时 在构造函数中使用粗箭头函数还是绑定函数更可取 但有点不同 您可以将函数绑定到this在构造函数中 或者仅在构造函数中应用箭头函数 请注意 我的项目中只能使用 ES6 语法 1 class Test ext
  • EasyMock:模拟 java 中的构造函数调用

    我在这个板上看过类似的问题 但没有一个回答我的问题 这听起来很奇怪 但是是否可以模拟您正在模拟的对象上的构造函数调用 Example class RealGuy public void someMethod Customer custome
  • pytables安装失败

    I do sudo pip install upgrade tables I get usr bin ld cannot find lhdf5 collect2 ld returned 1 exit status ERROR Could n
  • 操作数类型冲突:nvarchar 与图像不兼容

    我正在使用 SQL Server 2008 存储过程来创建新记录 这个语法 cmd Parameters Add photo DBNull Value cmd ExecuteNonQuery 但结果是 Operand type clash
  • pom.xml maven 中的属性标记是什么意思?

    我正在使用 Spring Boot 我看到了特性 tag in pom xml文件 但我不明白它是什么意思以及我们可以在这个标签中做什么 特性标签 例如
  • TypeScript 或 JavaScript 类型转换

    如何处理 TypeScript 或 Javascript 中的类型转换 假设我有以下 TypeScript 代码 module Symbology export class SymbolFactory createStyle symbolI
  • 在 Web Api 聊天应用程序后端服务器中使用或不使用数据传输对象 (DTO)

    我有一个使用 Web Api 构建的聊天应用程序后端 我在其中直接向客户端公开多个数据库实体 我想知道将实体映射到 DTO 是否有任何积极意义 或者我应该继续像目前一样公开这些实体 只是为了澄清 我不是在问 DTO 与非 DTO 的一般问题
  • 为 Umbraco 设置本地开发环境

    我继承了一个 Umbraco CMS 项目 Umbraco 实例和自定义用户控件存在于我们的测试服务器上 因为初始构建已经向客户端进行了演示 我现在需要承担这个任务 初始构建是由一名自由开发人员在我来这里之前完成的 并且不存在有关设置 部署
  • 如何将 Subversion 存储库发布到本地 IIS?

    在工作中 我们有一台安装了 IIS 和 Subversion 的 Windows Server 2003 我们用它在本地发布和测试 我们的 ASP NET 网站 每个程序员都在他的 PC 上安装了 Tortoise 并且可以更新 提交内容到
  • 如何在 OSX 中点击/挂钩键盘事件并记录哪个键盘触发每个事件

    我现在已经发现了如何在 OS X 上低级别挂接 点击键盘事件 如何在 MacBook 键盘上点击 钩住 F7 到 F12 以及电源 弹出 打印出该答案的代码 compile and run from the commandline with
  • 如何添加不同大小和颜色的ggplot2字幕?

    我正在使用 ggplot2 来改进降水条形图 这是我想要实现的目标的可重现示例 library ggplot2 library gridExtra secu lt seq 1 16 by 2 melt d lt data frame y s
  • 选择,具有收缩属性的 OutlineInput 标签在空时与 TextField 不同

    如果我使用 TextField 组件 并设置 InputLabelProps shrink true 则标签将保留在 TextField 的顶部 并且轮廓将被剪切以正确显示标签 但是 如果我使用 Select 组件 如下所示
  • 如何选择sql中除一列之外的所有列? [复制]

    这个问题在这里已经有答案了 可能的重复 SQL 使用 SELECT except columnA FROM tableA 排除列 是否可以选择除一列之外的所有列 这是所有列名称 id name address age SELECT id n
  • Android - 如果没有互联网连接则显示一条消息并继续检查

    我已经为此工作了几天了 我刚刚开始使用 Android 我有一个由两部分组成的问题 我想检查互联网是否可用 如果启动 webView 则不发出警报并阻止 webView 加载 我已经尝试过此操作 但如果没有互联网连接 例如飞行模式 它会强制
  • 如何判断秋千上的窗户是否打开

    我的应用程序有一个问题 用户一次会打开多个窗口 我添加了 dispose 方法来调用关闭窗口 现在我应该始终保持至少一个窗口打开 以便应用程序在没有完全关闭的情况下不会隐藏 如果你不明白 请阅读以下场景 我同时打开了窗口 A 和窗口 B 现
  • 使用 FileZilla 上传到 SFTP 服务器时收到描述为“失败”的失败

    我多次遇到这个问题 从 FileZilla 上传或编辑任何文件时 它显示错误消息 错误 写入时出错 收到描述为 失败 的失败 上传文件后 文件大小将为 0 字节 我的服务器是 AWS EC2 具有最小实例类类型 The 失败 是错误代码 4
  • std::unordered_set 是否连续(如 std::vector)?

    我将指针存储在 std unordered set 中 我这样做是因为我不想要任何重复项 我删除集合中的指针 因此如果存在重复项 我将尝试删除已删除的指针 我大量循环遍历这些集合 并且因为我知道 std vector 是最快的循环容器 连续