减少 begin() 迭代器,然后再次增加

2024-02-03

这些陈述按照标准有效吗?

std::string str{"123"};
auto it = str.begin();
--it;
++it; // Does *it point to character '1' now?

我在 g++ 4.7.2 和 clang++ 3.5 上尝试过这个 -*it回报'1'。 这是 c++11 中的标准行为吗?


不,它无效。

这是未定义的行为,如 24.2.6 [bi Direction.iterators] 指出的后置条件--it是结果必须是可取消引用的。正如它之前指出的begin()在您的示例中,不满足此条件,因此代码是非法的。

由于不需要诊断might似乎有效,但你不能(也不应该)依赖它。

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

减少 begin() 迭代器,然后再次增加 的相关文章

  • 如何在运行 ASP.NET 页面时以编程方式设置表格背景?

    我有一个 aspx 页面 其默认背景颜色是一种 当选择单选按钮的某个选项时 我需要能够以编程方式更改它 我尝试设置表的 ID 字段 但似乎无法在 C 代码隐藏文件中访问它 我原来的表是 table style width 100 backg
  • 递归显式模板实例化可能吗?

    给定一个类似的模板 template
  • 查找周边上的点来表示边界/形状

    我有一个简单的二维网格 其格式为myGrid x y 我正在尝试找到一种方法来找到所选网格周围的周长 这样我就有了所选网格的形状 这是我的意思的一个例子 这里的想法是找到所有相关的 角点 也就是图像周边的红点 放入一个列表中 这样我就可以从
  • 在 IEnumerable 中查找相同的集合

    有一项任务要弄清楚如何更新表 DataTable 连接到一个database没有UPDATE陈述 我想出的例子是从邮箱中读取警报 该表将写入 Alerts 如果邮件正文包含单词 SUCCESS gt Alert 变为绿色 如果 FAIL g
  • C# 委托实例化与仅传递方法引用 [重复]

    这个问题在这里已经有答案了 我有一个简单的问题 与仅传递函数引用相比 实例化 C 委托有什么优势 我的意思是 Why do Thread t new Thread new ThreadStart SomeObject SomeMethod
  • 类型定义存在于两个库中

    我正在使用 NET 4 5 构建 ASP NET Web 窗体网站 错误 The type System ComponentModel DataAnnotations Schema ForeignKeyAttribute exists in
  • C# 中 value 为匿名类型的字典

    是否可以在 C 中创建一个System Collections Generic Dictionary
  • 将私有部分保留在 C++ 标头之外:纯虚拟基类与 pimpl

    我最近从 Java 和 Ruby 切换回 C 令我惊讶的是 当我更改私有方法的方法签名时 我必须重新编译使用公共接口的文件 因为私有部分也位于 h 文件中 我很快想出了一个解决方案 我想这对于 Java 程序员来说是典型的 接口 纯虚拟基类
  • DLR 返回类型

    我需要 DLR 的帮助 我正在实现 IDynamicMetaObjectProvider 和 DynamicMetaObject 但在获取预期返回类型时遇到一些问题 我在元对象中覆盖 BindInvokeMember 我可以看到所有参数类型
  • 将控制台输入和输出重定向到文本框

    您好 提前致谢 我正在尝试 非常努力 将控制台输入和输出重定向到文本框 到目前为止 输出工作正常 但问题在于输入 例如 我无法执行一个简单的程序来执行以下操作 Console WriteLine 请输入您的姓名 字符串名称 Console
  • 使用 openssl 库获取 x509 证书哈希

    我目前正在开发一个应用程序 它使用 openssl 库 libcrypto 来生成证书 现在我必须获取现有证书的哈希值 当我使用终端时 我可以使用以下命令生成哈希值 openssl x509 hash in cert pem noout 输
  • OpenCV:处理每一帧

    我想使用 OpenCV 编写一个跨平台应用程序进行视频捕获 在所有示例中 我发现来自相机的帧是使用抓取功能进行处理并等待一段时间 我想处理序列中的每一帧 我想定义自己的回调函数 每次当一个新帧准备好处理时都会执行该函数 例如直播对于 Win
  • 对嵌套属性使用 XmlAttributeOverrides

    我试图使用 XmlAttributeOverrides 来控制类序列化后哪些类属性出现在 xml 中 它适用于 根 类上的属性 但不适用于嵌套属性 这是一个简单的例子来说明我想要完成的任务 我的类层次结构如下 public class Ma
  • 如何在 OpenCV 中删除 mouseCallback

    在使用 C 的 OpenCV 中 有没有办法删除 mouseHandler int event int x int y int flags void param 通过函数添加到窗口 image window cv setMouseCallb
  • 为什么一个结构体,如果没有显式的默认构造函数,则无法编译将另一个结构体作为成员包装在联合体中的结构体?

    这就是我所说的关系 struct A int i 1 struct B union A a void main B b 在这个星座中 我的编译器 vs2015 抱怨 B 的默认构造函数B B void 被删除 并附有编译器已生成的注释B B
  • 隐式类型转换 - 编译器错误

    这个问题与this https stackoverflow com questions 3529449 can i make the ternary operator treat my class like a bool问题 下面的代码在V
  • 所有区域的启用保护模式必须设置为相同的值(启用或禁用)

    我正在尝试使用Selenium Internet Explorer驱动程序 但当我尝试实例化它时它崩溃了 TestInitialize public void TestInitialise ieDriver new InternetExpl
  • 警告从 lambda 返回捕获的引用

    我尝试使用 lambda 有条件地将引用绑定到两个变量之一 int foo bar int choice gt int if true some condition return foo else return bar 这会在 clang
  • In 和 Out 属性在 .NET 中如何工作?

    我一直在尝试跨序列化数组AppDomain边界 使用以下代码 public int Read byte buffer int offset int count return base Read buffer offset count 作为猜
  • 文件按文件名模式存在

    我在用 File Exists filepath 我想做的是将其替换为模式 因为文件名的第一部分发生了变化 例如 该文件可以是 01 peach xml 02 peach xml 03 peach xml 如何根据某种搜索模式检查文件是否存

随机推荐

  • 将颜色属性从 xaml 绑定到 c#

    我正在尝试将自制控件的属性从我的视图绑定到我的视图模型 当我将颜色直接绑定到 xaml 中的另一个元素时 它可以工作 但是当我尝试将它绑定到我的视图模型中的属性时 财产没有变化 xaml
  • 我们如何反转十六进制颜色代码?

    我的 Web API 将发送我的视图的背景颜色 背景颜色范围从白色开始 ffffff变黑 000000 所以我无法为我的信息文本设置任何固定文本颜色 设置文本颜色的最佳方法是什么 我正在考虑反转背景颜色并将其设置为我的文本颜色 但我不知道如
  • 如何复制带有子文件夹的文件夹? [复制]

    这个问题在这里已经有答案了 该脚本在 PowerShell 中完美运行 它复制具有特定类型的所有文件 但我想用它的文件夹和子文件夹复制文件 dest C example files Get ChildItem Path C example
  • 如何在参数化测试中测试异常?

    在 JUnit4 中 您可以通过在一个方法中提供参数集合来编写参数化单元测试 这些参数集合将传递给测试的构造函数并在另一种方法中进行测试 如果我有一个参数希望抛出异常 我该如何指定它 这就是我如何使用带有预期异常的 junit 参数化测试
  • 在 Eclipse 中更改字体大小的键盘快捷键?

    通过首选项更改 Eclipse 中的字体大小相对简单 并在本论坛中回答过多次 However I d like to change font size quickly e g with Ctrl and Ctrl like in Linux
  • 为什么在编译依赖于 .NET Standard 的 .NET Framework 项目时缺少此 NuGet 依赖项?

    我有一个 Visual Studio 解决方案 有 3 个项目 顶层是 NET Framework 4 6 1 控制台应用程序 项目 A 它依赖于 NET Framework 4 6 1 类库 项目 B 项目 B 依赖于 NET Stand
  • 一次在文件系统上执行多个操作的正确方法是什么?

    假设我想知道一个文件是否存在 如果它是一个目录 则另外检索它的内容 我可能会这样走 browseSimple FilePath gt IO Either FilePath FilePath browseSimple x do isAvail
  • Apache 与 Angular2 - 404 未找到

    我已经使用 Bitnami 映像在 AWS 服务器上部署了 Angular2 应用程序 该应用程序由 Apache 提供服务 在端口 8080 上配置了虚拟主机 只要我从index html 如果我想访问不同的页面 已在RouteConfi
  • 检测 Windows 和 Linux 上的操作系统和 Java

    我有一个基于 Maven 的 JavaFX 项目 我想在 Windows 和 Linux 上构建 Maven 项目 为了在部署捆绑包时自动化该过程 我想自动检测操作系统 在 Windows 中我有这样的配置
  • 计算过滤列中有多少个不同值(或获取不同值列表)

    有没有办法计算一个数组中不同值的数量filteredExcel 中的列 使用公式https exceljet net formula count unique values in a range with countif https exc
  • 如何从异步方法获取button_ClickEvent中的字符串

    我的朋友们 我有以下代码 public static CookieContainer cookies public static HttpWebRequest GetNewRequest string targetUrl CookieCon
  • Python:使 eval 安全[重复]

    这个问题在这里已经有答案了 我想要一种简单的方法来在 Python 中执行 计算器 API 现在我不太关心计算器将支持的确切功能集 我希望它接收一个字符串 比如说 1 1 并返回一个带有结果的字符串 在我们的例子中 2 有没有办法制作eva
  • Minishift:无法解析:*.192.168.64.2.nip.io

    我已经安装了微移在 OSX 上使用brew brew cask install minishift beta minishift version Minishift version 1 0 0 我已经成功启动了 minishift 并创建了
  • 从 Java 调用 PHP [重复]

    这个问题在这里已经有答案了 可能的重复 从java调用php方法 https stackoverflow com questions 614894 invoking a php method from java 我正在编写一个Java 类
  • 复杂数据的曲线拟合

    我想用共享相同参数的两个函数来拟合复杂的数据集 为此我使用了 def funcReal x a b c d return np real a 1j b np exp 1j k x kappa1 x np exp kappa2 x c 1j
  • python 映射函数迭代

    results 是一个嵌套列表 如下所示 gt gt gt results 1 2 3 a b 1 2 3 c d 4 5 6 a b 4 5 6 c d pr 是一个函数 其定义如下 gt gt gt def pr line print
  • 实体框架 - 在更新时保存子实体

    我有一个发票实体 它有子发票日志实体 当我第一次创建发票并添加其 InvoiceLog 实体并保存时 它工作正常 但是 如果我随后编辑发票并尝试添加其他 InvoiceLog 实体 它会完全忽略新的 InvoiceLog 实体并且根本不保存
  • 有一些常见的方法来写入和读取配置文件吗?

    我需要我的程序创建和编辑一个配置文件 其中包含有关对象集的信息 然后在每次执行时读取它 是否有某种我可以使用的配置样式指南 我在 Windows 上使用 C 我建议查看提升 属性树 http www boost org doc libs 1
  • 我应该如何处理 kvo 中的 NSIndexSet 来更新表视图?

    我开始使用键值观察 并且我正在观察的可变数组在更改字典中为我提供了 NSIndexSets 有序可变对多 据我所知 问题是表视图希望我给它充满索引的 NSArrays 我考虑过实现一种自定义方法来将一个方法转换为另一个方法 但这似乎很慢 而
  • 减少 begin() 迭代器,然后再次增加

    这些陈述按照标准有效吗 std string str 123 auto it str begin it it Does it point to character 1 now 我在 g 4 7 2 和 clang 3 5 上尝试过这个 it