什么是向量迭代器(Vector Iterator)?

向量迭代器是一种计算机语言结构,它允许程序读取包含在称为向量的专门集合中的数据值。向量是用来分组相关数据值的对象,类似于数组和列表。许多不同的计算机语言,尤其是Java和C,包含向量及其相关的迭代器。每种语言对迭...
向量迭代器是一种计算机语言结构,它允许程序读取包含在称为向量的专门集合中的数据值。向量是用来分组相关数据值的对象,类似于数组和列表。许多不同的计算机语言,尤其是Java和C,包含向量及其相关的迭代器。每种语言对迭代器使用不同的语法,但所有语言的底层机制是对向量组中每个可能成员的单独访问。许多计算机语言,如C,包含向量及其相关的迭代器。使用迭代器在向量中移动通常是称为遍历或迭代。向量迭代器也可用于显式标识向量集合中的特定对象。执行此标识时,该对象通过其在向量中的索引进行标识,不是由对象本身的任何特性决定的。如果迭代器被取消引用,就可以对对象执行操作,授予程序显式访问对象而不是向量的权限。向量迭代器很少有机会遇到迭代数组时可能发生的越界错误。虽然向量是本质上是美化数组在解构时,向量几乎总是有某种类型的边界检查,以确保向量迭代器保持在正确的索引上。当遍历向量时,迭代器,如果调用正确,总是从向量的开始处开始,正好在向量的结尾处结束。在某些上下文中,显式地指定不正确的索引仍然是可能的,但是向量的内置边界检查(将其转换为其迭代器)可以防止越界溢出问题。在C中,当迭代器遍历向量时,可以修改向量,但是Java明确禁止这种情况发生在这种情况下,Java的操作要安全得多,因为当迭代器在向量上移动时,更改向量可能会导致迭代器无意中读取向量之外的内容。在迭代时试图在向量中添加或删除项是特别危险的,特别是如果向量必须覆盖的起始和结束索引是硬编码的。向量迭代器没有用来处理向量的突然变化,并且向量在遍历时是相对静态的。向量迭代器可以是隐式的,也可以是显式的,无论是语法形式还是语法形式,都可以平稳地进行遍历为了提高效率,一个向量迭代器可以被一个非常大的向量减慢。在这种情况下,对向量的结束索引进行硬编码可以加快遍历速度。这个问题不会发生在小向量上,所以硬编码结束索引不会引起任何明显的加速。对结束索引进行硬编码会增加溢出的风险,所以总的来说,应该谨慎行事
  • 发表于 2020-08-06 15:18
  • 阅读 ( 925 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具