获取给定地址的 std::vector 元素的索引

2024-02-01

假设我有一个 std::vector 并且通过某种方式获得了第 n 个元素的地址。 给定 std::vector 的基地址,是否有一种简单的方法(比迭代向量更快)来获取元素出现的索引?假设我确定该元素位于向量中。


由于您知道该元素位于向量内,并且向量保证其存储是连续的,因此您可以执行以下操作:

index = element_pointer - vector.data();

or

index = element_pointer - &vector[0];

请注意,从技术上讲,连续保证是在 C++03 中引入的,但我还没有听说过 C++98 实现不碰巧遵循它。

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

获取给定地址的 std::vector 元素的索引 的相关文章

随机推荐

  • 动画时禁用所有触摸屏交互

    我希望在显示动画时禁用所有触摸屏交互 我不想使用setClickable 方法在动画开始或结束时的按钮上 因为有大量按钮 有什么建议么 在您的 Activity 中 您可以覆盖onTouchEvent而且总是return true 指示您正
  • 在python中使用tabulizer循环遍历pdf文件

    我很难让一段代码正常工作 我想循环遍历文件夹中的 pdf 文件 提取 tabula 包认为表格是什么 将它们提取到数据帧 然后将特定 pdf 中的所有表格写入一个 csv 文件 我在看这个帖子 https stackoverflow com
  • 如何在 WPF 中从第一个窗口打开第二个窗口?

    我是 WPF 新手 我有两个窗口 例如window1和window2 我在window1中有一个按钮 如果我单击该按钮 则必须打开 window2 我应该为此做什么 这是我尝试过的代码 window2 show 将您的代码写入window1
  • 维吉尼亚密码的实现

    我必须实现一个变体维吉尼亚密码 http en wikipedia org wiki Vigen C3 A8re cipher 我的加密部分没有问题 但解密代码中有一个错误 我不明白我做错了什么 要求是 键只能包含A Z 大写 关键字符的代
  • 在同一布局中使用两次片段

    是否可以在一个布局中重复使用同一个片段两次 我有两个选项卡的布局 选项卡 A 和选项卡 B 每个选项卡显示一个视图 其中包含左侧项目列表 类型 A 或 B 和右侧所选项目的详细信息 两种类型的列表的 详细信息视图 在右侧窗格中 是相同的 因
  • PHP:静态和非静态函数和对象

    这些对象调用有什么区别 非静态 var new Object var gt function Static var User function 还有里面一个class为什么我应该使用函数的静态属性 example static public
  • 当我在 vba powerpoint 中按下某个键时调用 Sub

    此代码捕获活动窗口 并通过调用要粘贴的多个屏幕截图将其粘贴到 power point 幻灯片中sub PrintScreen 之后需要 5 秒来捕获活动窗口的屏幕 虽然我希望每当我按下 F7 或 F3 等 等特定键时 它应该打印屏幕而不是等
  • 如果任务抛出 RuntimeException/Error,ScheduledExecutorService.scheduleAt* 方法是否应该重新安排任务?

    有一天 我在我的应用程序中实现了一项重要的服务 无论如何它都应该继续运行 所以我使用了以下构造 ScheduledExecutorService ses Executors newSingleThreadScheduledExecutor
  • 使用分页(PHP、MySQL)时计算运行总计/余额的最有效方法是什么

    我有一个 MySQL 表 用于存储员工记录的里程记录 我有一个 PHP 页面 它在表中输出每个员工的里程记录 从最新到最旧 以及运行余额 这一切都很好 里程记录的增长速度比预期的要快 现在很明显需要分页 我已经编写了分页程序 效果很好 我现
  • 如何使用 C# 禁用“正在保存的文档包含修订”Word 对话框

    Microsoft Office Interop Word ApplicationClass msDoc new Microsoft Office Interop Word ApplicationClass msDoc Visible fa
  • “this”隐式具有类型“any”,因为它没有类型注释

    当我启用noImplicitThis in tsconfig json 我收到以下代码的错误 this 隐式具有类型 any 因为它没有类型 注解 class Foo implements EventEmitter on name stri
  • CSS 100%高度,然后滚动DIV而不是页面

    好吧 我还没有找到有答案的问题 所以我决定自己做一个 我正在尝试创建 100 流畅的布局 从技术上讲我已经做到了 http stickystudios ca sandbox stickyplanner layout index2 php h
  • Javascript变量替换(CK编辑器)

    如何更换 name city country 具有动态价值 动态值是json格式 我的要求 最初只有用户使用CKEditor创建布局设计 然后用户将上传 CSV 文件 CSV 中的所有数据都将替换 value 这就是这个概念 p This
  • 如何启用 clang-tidy 的“现代化”检查?

    我刚刚安装ClangOnWin https sourceforge net p clangonwin 我正在努力得到clang tidy的 现代化 支票发挥作用 很遗憾 clang tidy似乎不知道他们 clang tidy list c
  • Active Directory:此处是否存在无效字符转义以及如何处理

    我已经构建了一个通过 SSIS 中的 C 脚本组件从活动目录中提取数据的过程 该数据需要加载到 SQL Server 中 我遇到了 DistinguishedName DN 和 CanonicalName CN 包含双引号 和反斜杠 转义字
  • ASP.NET 5 (MVC 6) - 资源本地化

    我花了大约一周的时间试图了解本地化在 ASP NET Core 1 0 中如何工作 我已经测试了很多选项 但我无法使其工作 我已经读过有关该错误的信息视觉工作室 https github com aspnet Localization is
  • 在 MATLAB 中计算组平均值/中位数,其中组 ID 位于单独的列中

    我有一列包含每个参与者的组 ID 有三组 因此该列中的每个数字都是 1 2 或 3 然后我有第二列 其中包含每个参与者的响应分数 我想计算每组内的平均 中位数响应分数 我已经设法通过循环每一行来做到这一点 但我觉得这是一个缓慢且次优的解决方
  • 使用 iphone sharekit 在一篇文章中发布多个 url

    我想使用共享工具包发布如下文本 在 Twitter Facebook 邮件上 Hi 这是分享文字 点击这里做某事 单击此处查看其他内容 Cheers 我有以下代码 IBAction shareOnTwitter id sender SHK
  • 如何区分点击事件和拖放事件?

    我对既可拖动又具有单击事件的元素有疑问 drag mousedown function class click function div class drag class div 当我拖放元素时 单击事件也会被触发 如何预防呢 您也可以同时
  • 获取给定地址的 std::vector 元素的索引

    假设我有一个 std vector 并且通过某种方式获得了第 n 个元素的地址 给定 std vector 的基地址 是否有一种简单的方法 比迭代向量更快 来获取元素出现的索引 假设我确定该元素位于向量中 由于您知道该元素位于向量内 并且向