std::map::begin() 之前的 STL 迭代器

2023-11-21

在 C++11 中std::map,是否有一些有效的迭代器x这样 ++x保证等于map::begin()?我想检测我刚刚调用的函数(我的)是否已将迭代器从函数的前面移走。该函数会将迭代器向后移动一位。

这个答案适用于图书馆的其他部分吗?


不,迭代器位于开头之前std容器都是UB(除了反向迭代器,这可能无法解决你的问题)。

您可能需要修复有问题的功能。如果做不到这一点,请在调用它之前将其包装并捕获不良行为。如果做不到这一点,您可以将负无穷大元素插入到map键类型排序,并添加哨兵值。如果做不到这一点,您可以编写迭代器适配器来包装您的map迭代器可以在没有 UB 的情况下从一开始。

这些大致是按照我推荐的顺序排列的。每个都有可能失败的方式,并且随着我的建议变得越来越遥远,它们变得更容易出错和危险。

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

std::map::begin() 之前的 STL 迭代器 的相关文章

  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • Nullable 是不可能的,为什么不呢? [复制]

    这个问题在这里已经有答案了 如果这是一个愚蠢的问题 请原谅 我正在尝试更好地理解 Net 中的 Nullable 类型 从我从 Microsoft 源代码 使用 ReSharper 中注意到的内容 我了解到 Nullable 是一个结构 而
  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • 使用 Xamarin.Forms 和 Zxing 生成 QR 码

    我在网上看到了很多关于这个的内容 旧帖子 但似乎没有什么对我有用 我正在尝试从字符串中生成二维码并将其显示在应用程序中 这就是我一开始的情况 qrCode new ZXingBarcodeImageView BarcodeFormat Ba
  • Nhibernate:连接表并从其他表获取单列

    我有以下表格 create table Users Id uniqueidentifier primary key InfoId uniqueidentifier not null unique Password nvarchar 255
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • 提升mapped_file_source、对齐方式和页面大小

    我正在尝试在性能很重要的上下文中解析一些大小高达几百兆字节的文本文件 因此我使用 boostmapped file source 解析器期望源以空字节终止 因此我想检查文件大小是否是页面大小的精确倍数 如果是 则使用较慢的非内存映射方法 我
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • 如何增加ofstream的缓冲区大小

    我想增加 C 程序的缓冲区大小 以便它不会过于频繁地写入 默认缓冲区是 8192 字节 我尝试使用 pubsetbuf 将其增加到 200K 原始代码 ofstream fq fastq1 cstr ios out fastq1 is a
  • 编写具有多种类型的泛型扩展方法时的类型推断问题

    我正在为 IEnumerable 编写一个通用扩展方法 用于将对象列表映射到另一个映射对象列表 这就是我希望该方法的工作方式 IList
  • 从点云检测平面集

    我有一组点云 我想测试3D房间中是否有角落 所以我想讨论一下我的方法 以及在速度方面是否有更好的方法 因为我想在手机上测试它 我将尝试使用霍夫变换来检测线 然后我将尝试查看是否有三条线相交 并且它们也形成了两个相交的平面 如果点云数据来自深
  • 如何使用 C# 查询远程 MS ACCESS .mdb 数据库

    我正在尝试使用 C 查询 mote MS ACCESS 数据库 mdb 文件 将文件复制到本地计算机时可以成功查询它 我只想远程放置文件 所以我的客户端程序不包含原始数据 static string m path http www xyz
  • 将 2 个字节转换为整数

    我收到一个 2 个字节的端口号 最低有效字节在前 我想将其转换为整数 以便我可以使用它 我做了这个 char buf 2 Where the received bytes are char port 2 port 0 buf 1 port
  • iteritems 的优点是什么?

    我使用的是 Python 2 7 5 Mac OS X 10 9 3 具有 8GB 内存和 1 7GHz Core i5 我测试了如下的时间消耗 d i i 2 for i in xrange 10 7 3 WARNING it takes
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 运行 xunit 测试时无法将输出打印到控制台窗口

    public class test2InAnotherProject private readonly ITestOutputHelper output public test2InAnotherProject ITestOutputHel
  • IDisposable 的显式实现

    虽然有很多关于IDisposable在 SO 上找到 我还没有找到答案 我通常遵循这样的做法 当我的一个班级拥有一个IDisposable对象然后它也实现IDisposable并打电话Dispose在拥有的对象上 然而最近我遇到了一个类 它
  • 如何在c中断言两个类型相等?

    在 C 中如何断言两种类型相等 在 C 中 我会使用 std is same 但搜索 StackOverflow 和其他地方似乎只能给出 C 和 C 的结果 在C中没有办法做到这一点吗 请注意 这不是询问变量是否具有某种类型 而是询问两个类

随机推荐

  • 第一个实体框架 6 nonquery 的六秒预热时间

    从我的集成测试来看 Act Stopwatch w new Stopwatch w Start userService Create userDTO w Stop public void Create UserDTO userDTO var
  • 如何让我的 Chrome 扩展程序只注入一次脚本?

    我在用着程序化注入仅在单击浏览器操作时将我的扩展程序的代码注入页面 这就是我的扩展中的内容活动页面 根据中的示例文档 chrome browserAction onClicked addListener function callback
  • JQuery ajax 调用 httpget webmethod (c#) 不起作用

    我试图让 ajax 访问后面代码中的 webmethod 问题是我不断从 jQuery 收到错误 parserror onfail method 如果我将 GET 更改为 POST 一切正常 请参阅下面我的代码 阿贾克斯调用
  • 有reactive-banana-gtk吗?

    我找到了reactive banana wax 想知道是否还有一个类似的gtk包 因为reactive香蕉应该支持gtk 根据http www haskell org haskellwiki Reactive banana The reac
  • 用于诊断 .NET 中内存泄漏的工具(ASP.NET 应用程序)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我们需要一个工具来轻松检测 ASP NET 应用程序中的内存泄漏 我们有一个应用程序 它消耗大量内存 Thanks Using WinDbg不像使用
  • Thread.CurrentPrincipal.Identity vs HttpContext.User.Identity [重复]

    这个问题在这里已经有答案了 可能的重复 http context user 和 thread currentprincipal 之间的区别以及何时使用它们 这两者在 ASP NET 应用程序中有何区别 我知道HttpContext User
  • 如何将 CSS 用于 Vaadin 组件?

    我似乎看到了一些例子 人们回答了如何通过添加 CSS 代码从组件中获取某些特定行为的问题 但是似乎没有人解释如何使用该 CSS 代码将其连接到 Java 组件 v table body overflow hidden important 例
  • 一个目录中的多个 Git 存储库

    我想将一个目录部署给具有不同权限的多个开发人员 所以这是 Git 无法做到的一件事 如何在一个目录中创建两个存储库 并通过使用排除由另一个存储库管理的文件来为它们分配不同的文件列表 gitignore file 例子 www project
  • MySQL“NOT IN”查询3个表

    我有 3 个表格课程 成绩和评估 我想比较两个表的等级和评价 如果表等级中的数据在表评价中不存在 则该数据会出现 输出 select Grade ID Courses Course ID Courses Grade NAME Course
  • 如何使用 6 个按钮(如 Windows 磁贴)创建布局

    我正在尝试创建一个包含 6 个按钮的布局 可以像 Windows Phone 的平铺一样自动适应屏幕尺寸 在代码中 我动态创建了 6 个按钮 2 个用于行 但按钮应该适合填充后者的屏幕大小 我该如何继续
  • 在动态分配的二维数组上使用 realloc() 是个好主意吗?

    我主要对它的可行性感兴趣缩小这样的数组 我正在开发一个项目 其中我使用单个 malloc 调用来每个创建单独的中等大小的二维数组 每个阵列最多只有几十 MiB 问题是 在其中一个阵列的生命周期内 其内容的大小会急剧缩小 减少一半以上 显然
  • 了解合并排序优化:避免复制

    我在算法书中有下面的合并排序程序 其中提到主要问题是合并两个排序列表需要线性额外内存 并且在整个算法中复制到临时数组并返回所花费的额外工作会减慢速度大幅下降 通过在递归的交替级别明智地切换 a 和 tmp array 的角色可以避免这种复制
  • NVD3.js:ReferenceError:nv 未定义

    我正在使用 NVD3 js 库来生成图形 我尝试向其中添加折线图并收到上述错误 如何解决呢 我正在尝试这个here 实际上我发现问题出在文件夹结构上 Angular nvd3 网站附带的示例给出了路径 Bower components nv
  • Bootstrap 3 - 连续使用超过 12 列

    我遇到了一种情况 要求我不要限制一行中的列数 因为可能会将多个内容块从管理中的位置添加到该区域 默认情况下 BS3 的行为告诉 12 列 div 不要浮动 这会导致它们越过较小的浮动 div 的顶部 因此 我为我的系统编写了一个覆盖作为一个
  • 为什么我不能覆盖 `Array` 的原型 (`Array.prototype`)?

    我设定的原型是Array作为一个例子my 我认为book aa将显示 aa 但它显示 undefined 为什么 谢谢 h2 Array Properties h2
  • Keycloak:无法在 Spring Boot 应用程序中加载 URL

    我目前正在尝试开发一个使用 keycloak 保护的 Spring Boot Rest Api 当我尝试调用必须识别用户的 api 时 出现错误 错误信息如下 2020 04 10 16 09 00 324 WARN 44525 nio 8
  • XmlSerializer 可以反序列化为 Nullable 吗?

    这是重复的XmlSerializer 可以反序列化为 Nullable 吗 但我需要一个既不更改 xml 文档也不强迫我实现 IXmlSerialized 接口的解决方案 我不想实现 IXmlSerialized 因为旁边还有许多其他元素
  • jquery insertafter和insertbefore添加滑动动画

    如何为上下排序运动添加动画移动效果 您可以通过单击 向上 和 向下 文本链接来检查运动情况 这是我的代码 document ready function move up click function if this prev this pa
  • 当输入字段为空时显示 ng-repeat 列表时,AngularJS 过滤器比较器为 true

    我将通过这个示例小提琴来演示如何使用比较器参数来过滤精确匹配 http jsfiddle net api post library pure 优先级是 1 100 之间的数字 但我将其作为文本输入并作为字符串过滤 因此 任何包含子字符串的数
  • std::map::begin() 之前的 STL 迭代器

    在 C 11 中std map 是否有一些有效的迭代器x这样 x保证等于map begin 我想检测我刚刚调用的函数 我的 是否已将迭代器从函数的前面移走 该函数会将迭代器向后移动一位 这个答案适用于图书馆的其他部分吗 不 迭代器位于开头之