const_iterator 和 iterator 有什么区别? [复制]

2024-05-07

这两者在 STL 内部的实现方面有什么区别? 性能方面有什么区别? 我想当我们以“只读方式”遍历向量时,我们更喜欢const_iterator, right?

谢谢。


没有性能差异。

A const_iterator是一个指向 const 值的迭代器(就像const T*指针);取消引用它会返回对常量值的引用(const T&)并防止修改引用值:它强制const-正确性 http://en.wikipedia.org/wiki/Const-correctness.

当你对容器有一个const引用时,你只能得到一个const_iterator.

Edited:我提到过“const_iterator返回常量指针”,这是不准确的,感谢布兰登指出。

Edit:对于 COW 对象,获取非常量迭代器(或取消引用它)可能会触发复制。 (一些过时且现在不允许的实现std::string使用牛。)

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

const_iterator 和 iterator 有什么区别? [复制] 的相关文章

  • CLR 2.0 与 4.0 性能比较?

    如果在 CLR 4 0 下运行 为 CLR 2 0 编译的 NET 程序会运行得更快吗 应用程序配置
  • 如何从 C# 中的 dataTable.Select( ) 查询中删除单引号?

    所以我有一个经销商名称列表 我正在我的数据表中搜索它们 问题是 一些傻瓜必须被命名为 Young s 这会导致错误 drs dtDealers Select DealerName dealerName 所以我尝试替换字符串 尽管它对我不起作
  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • 如何在多线程C++ 17程序中交换两个指针?

    我有两个指针 pA 和 pB 它们指向两个大的哈希映射对象 当pB指向的哈希图完全更新后 我想交换pB和pA 在C 17中 如何快速且线程安全地交换它们 原子 我是 c 17 的新手 2个指针的原子无等待交换可以通过以下方式实现 inclu
  • 以编程方式读取 SQL Server 查询计划建议的 SQL 特定执行的索引?

    如果我在 SSMS 中运行此命令 set showplan xml on GO exec some procedure arg1 arg2 arg3 GO set showplan xml off GO 我获得查询执行中涉及的完整调用堆栈的
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • 当一组凭据下的计划任务启动的进程在另一组凭据下运行另一个程序时,Windows 是否有限制

    所以我有一个简单的例子 其中我有应用程序 A 它对用户 X 本地管理员 有一些硬编码的凭据 然后它使用硬编码的绝对路径启动带有这些凭据的应用程序 B A 和 B 以及 dotnet 控制台应用程序 但是它们不与控制台交互 只是将信息写入文件
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string

随机推荐

  • docker 容器中的 nmcli

    我目前正在寻找在 docker 容器中运行 nmcli nmcli 在我的主机上工作得很好 但如果我启动一个特权容器 nmcli 就不起作用 启动我的容器 sudo docker run privileged net host it ima
  • 按数字字段排序,其中时间戳位于 Cloud Firestore 中的给定日期?

    在我的 Firestore 数据库中 我的集合中有一些文档 如下所示 name Item 1 count 2 timestamp January 29 2018 at 3 43 12 PM UTC 8 我正在尝试查询这个集合 以便文档按以下
  • 如何在聚焦或单击时突出显示 ImageView?

    一个很好的例子是 Twitter 启动屏幕 首次启动应用程序时看到的带有大图标的屏幕 甚至当您聚焦应用程序图标时只需查看应用程序托盘 基本上 我需要突出显示 ImageView 其中突出显示 ImageView 中图像的轮廓 并且看起来像是
  • 通过 WooCommerce 中的管理员编辑订单自动添加或更新自定义费用

    我们有一个特殊情况 我们会在收到订单后向客户开具付款发票 而不是让他们在结账时付款 运费是手动计算的并添加到订单中 然后我们在总额中添加 3 的信用卡费用 为了自动化此过程 我创建了一个脚本 一旦通过后端设置了运费 该脚本就会计算 3 的费
  • 在类中调用类方法

    我意识到这可能是一个幼稚的问题 但我仍然无法弄清楚如何在 Ruby 类中从另一个方法调用一个方法 即在 Ruby 中可以执行以下操作 class A def met1 end def met2 met1 call to previously
  • JavaScript随机生成0或1个整数[重复]

    这个问题在这里已经有答案了 当我编写脚本来填充数据库时 我试图生成随机 0 或 1 如果是1 我会将其保存为男性 反之亦然 将其保存为0 在我的 JavaScript 中 Math floor Math random 1 1 我用它来生成
  • 将自定义文件与我的 Android 应用程序关联

    我想将特定扩展名的文件 例如任何扩展名为 xyz 的文件 与我的应用程序关联 这意味着 当用户在文件资源管理器 或其他地方 如 gmail 驱动器等 中点击 SaveFile1 xyz 时 我的应用程序应该启动 并且文件的 Uri 将在 I
  • 如何在 Python 中从平面列表构建嵌套列表? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个简单的列表 例如 flat 1 1 1 1 1 1 1 2 2 2 1 2 2 3 我需要转换为嵌套列表 其中每个级别 破折号后跟数
  • 当日志在不同进程中发出时,caplog 中的消息为空

    我正在使用 log cli true 运行测试 剧本 import logging import sys from multiprocessing import Process logging basicConfig stream sys
  • 找不到 CURL NSS 客户端证书 myCert

    我正在尝试使用curl 访问https 地址 将我的证书传递给它并使用我自己的信任库 我们有自己的CA 验证服务器的证书 我现在以 root 身份运行 curl v cert home cdfoote myCertificate pem m
  • 从原型创建 Maven 项目时出错:501 HTTPS 必需

    I run mvn archetype generate并得到这个错误 Error reading archetype catalog http repo maven apache org maven2 org apache maven w
  • NamedScopes Ninject 绑定和异步(线程)

    我的项目由服务和存储库构成 所有存储库共享数据库上下文 在我的一个服务层中 我有一个使用存储库写入数据库的异步方法 Web 请求将完成并处理上下文 然后此方法才能使用它 我试着去理解命名范围 http www planetgeek ch 2
  • 如何生成多值 INSERT 的 postgresql 转储而不是 COPY 并将插入批处理到显式事务中?

    我在任何地方都找不到关于如何在通过生成数据库转储时将插入批量化为每事务 100 个插入的批次的任何信息pg dump公用事业 我究竟需要如何执行它 我没有找到任何参数 gt man pg dump 来执行此操作 即使是最精致的answer
  • 填充 MultiIndex Pandas Dataframe 中的日期空白

    我想修改 pandas MultiIndex DataFrame 以便每个索引组都包含指定范围内的日期 我希望每个组都用值 0 或NaN Group A Group B Date Value loc a group a 2013 06 11
  • 仅在 PHPUnit 中需要时才执行 dataProviders?

    我的测试套件即使只是开始也需要几分钟 这是因为数据提供者在 phpunit 启动时立即执行 并且它们的所有数据 数千个对象 都保存在内存中 有没有办法在测试运行之前调用 dataProviders 我不在乎在屏幕上看到如此精确的进展 Tha
  • MongoDB 未找到合适的服务器

    我在连接到副本集时遇到问题 MongoDB Driver Exception ConnectionTimeoutException No suitable servers found serverSelectionTryOnce set S
  • React 中模型更改 11 次后 Froala 编辑器崩溃

    我在没有身份的情况下在线构建了一个简单的编辑器 在后端实现Node JS 与 Socket IO MongoDB 以及客户端使用React连接Socket IO 为了创建编辑器 我使用了弗罗拉编辑 https www froala com
  • 在网页中显示 Google 工作表单元格的内容

    我有一个包含 html 代码的单元格的 google 工作表 我想知道在网页中显示此 html 的最佳方式 我尝试过谷歌电子表格 API 和谷歌可视化 API 以下是如何使用 Javascript 图表 API 显示单个单元格中的信息 也许
  • 用更有意义的文本替换 GCC 输出中的 a-hats [重复]

    这个问题在这里已经有答案了 可能的重复 为什么 gcc 的所有错误消息中都有 https stackoverflow com questions 547071 why does gcc have a in all its error mes
  • const_iterator 和 iterator 有什么区别? [复制]

    这个问题在这里已经有答案了 这两者在 STL 内部的实现方面有什么区别 性能方面有什么区别 我想当我们以 只读方式 遍历向量时 我们更喜欢const iterator right 谢谢 没有性能差异 A const iterator是一个指