什么是向量迭代器?(a vector iterator?)

向量迭代器是一种计算机语言结构,允许程序读取称为向量的专门集合中包含的数据值。向量是用于对相关数据值进行分组的对象,类似于数组和列表。许多不同的计算机语言,最著名的java和C++,包含向量及其相关迭代器。每种语言对迭代器使用不同的语法,但所有语言中的底层机制都是对向量组中每个可能成员的单独访问。...

向量迭代器是一种计算机语言结构,允许程序读取称为向量的专门集合中包含的数据值。向量是用于对相关数据值进行分组的对象,类似于数组和列表。许多不同的计算机语言,最著名的java和C++,包含向量及其相关迭代器。每种语言对迭代器使用不同的语法,但所有语言中的底层机制都是对向量组中每个可能成员的单独访问。

Many computer languages, such as C++, contain vectors and their related iterators.

使用迭代器遍历向量通常称为遍历或迭代。向量迭代器还可用于显式标识向量集合中的特定对象。当执行该识别时,对象通过其在向量中的索引来识别,而不是通过对象本身的任何特征来识别。如果迭代器被取消引用,则可以对对象执行操作,从而授予程序对对象而不是向量的显式访问权。

向量迭代器很少有机会遇到在数组上迭代时可能发生的越界错误。尽管向量在解构时本质上是美化数组,但向量几乎总是有某种类型的边界检查,以确保向量迭代器保持在适当的索引处。遍历向量时,如果正确调用迭代器,迭代器始终从向量的开头开始,并恰好在结尾结束。在某些上下文中,仍然可以显式指定不正确的索引,但向量的内置边界检查(转换为其迭代器)可以防止越界溢出问题。

在C++中,向量可以在迭代器遍历时修改,但java明确禁止这种情况发生。Java在这种情况下的操作要安全得多,因为在迭代器移动时更改向量可能会导致迭代器无意中读取向量之外的内容。在迭代过程中尝试从向量中添加或删除项尤其危险,尤其是当向量必须包含的开始索引和结束索引是硬编码的时。向量迭代器不能处理向量的突然变化,向量在被遍历时是相对静态的。

向量迭代器可以是隐式的,也可以是显式的,并且任何一种语法形式都可以平滑地运行遍历。尽管对向量迭代器进行编码是为了提高效率,但向量迭代器的速度可能会因很大的向量而减慢。在这种情况下,对向量的结束索引进行硬编码可以加快遍历速度。小向量不会出现这个问题,因此硬编码结束索引不会导致任何明显的加速。硬编码结束索引可能会增加溢出的风险,因此一般来说,应该谨慎地进行。

  • 发表于 2021-12-12 16:30
  • 阅读 ( 82 )
  • 分类:互联网

你可能感兴趣的文章

克隆载体(cloning vector)和表达式向量(expression vector)的区别

...根据其应用分类的两类载体。 目录 1. 概述和主要区别 2. 什么是克隆载体 3. 什么是表达式向量 4. 载体的克隆与表达 5. 并排比较-以表格形式克隆载体与表达载体 6. 摘要 什么是克隆载体(a cloning vector)? 克隆载体是可以用来**外源...

  • 发布于 2020-10-27 20:28
  • 阅读 ( 467 )

如何使用java arraylist

... 堆栈支持模拟后进先出列表的操作。它扩展了向量,因此是同步的。 ...

  • 发布于 2021-03-13 20:41
  • 阅读 ( 208 )

惠普最新的游戏配件注重简单性和价值

...着奇怪的区别。 新的游戏鼠标是49美元的预兆向量和29美元的预兆向量基本。两款都是有线型号,重88克,有6个按钮。Omen Vector是这两款产品中的高端选择,其特点是Omen Radar 3传感器(源自PixArt PMW3389),灵敏度高达160...

  • 发布于 2021-04-19 00:21
  • 阅读 ( 157 )

数组表(arraylist)和矢量(vector)的区别

ArrayList与Vector 向量实现的数组可以在运行时在添加或删除某些元素时进行增长/收缩。使用整数索引访问其元素。两个字段–容量和容量增量,是矢量存储管理的特征。它实现了四个接口:*列表*随机访问*可克隆*可串行化接口 ...

  • 发布于 2021-06-23 18:41
  • 阅读 ( 241 )

矢量(vector)和列表(list)的区别

矢量与列表 经常混淆程序员,向量和列表是在C++和java中数组保存中使用的序列。这两个术语包含数组地址,但包含数组的方法不同。我们需要知道的基本点是,数组是一个“列表”,它包含部分或全部数据,即整数、浮点或...

  • 发布于 2021-06-23 23:28
  • 阅读 ( 327 )

如何求叉积(find the cross product)

由于叉积或向量积是三维向量空间中两个向量之间的二元运算,因此知道如何求叉积是很有用的。两个向量的叉积导致另一个向量垂直于包含前两个向量的平面。一般情况下,叉积或向量积用乘法符号表示,但数学运算...

  • 发布于 2021-06-27 01:26
  • 阅读 ( 385 )

如何计算位移(calculate displacement)

... 在学习计算位移之前,让我们先定义位移,然后学习什么是位置向量以及如何编写它。 位移的定义 位移是对粒子初始位置和最终位置之间差异的测量。它是运动学中使用的基本量之一,也用于导出速度和加速度。位移是一...

  • 发布于 2021-06-27 02:58
  • 阅读 ( 283 )

什么是向量(a vector)

...t is given by  N C-1. Find the magnitude of the electric field. N C-1. 什么是单位向量(unit vectors)? A unit vector is a vector with a magnitude of 1 unit. Unit vectors are often written with a ‘hat’ above the letter. e.g.  . The unit vector along the direction of a vector  , is ...

  • 发布于 2021-06-27 02:59
  • 阅读 ( 87 )

如何乘向量(multiply vectors)

我们来看看向量相乘的三种方法。首先,我们来看看向量的标量乘法。然后,我们看两个向量相乘。我们将学习两种不同的乘向量的方法,使用标量积和叉积。 如何用标量乘向量 当你将一个向量乘以一个标量时,向量的...

  • 发布于 2021-06-27 02:59
  • 阅读 ( 107 )

如何矢量加减(add and subtract vectors)

...量的矢量的加和减,有特殊的程序。可以使用图形方法或向量组件来添加和减去向量。本文解释了这两种方法。首先,让我们看看如何以图形方式添加向量。 如何以图形方式添加向量 Suppose we need to add the two vectors,   and  .  Gr...

  • 发布于 2021-06-27 03:00
  • 阅读 ( 80 )
cfxz9276608
cfxz9276608

0 篇文章

相关推荐