从数组中获取值的“过程”有一个名称吗?

3
我希望了解从数组中获取值的“过程”是否有名称(例如,当您执行以下操作时:
array[3] // this will get the value from index '4'

(在C++中)获取值的过程有一个名称吗?如果我的解释不太清楚,非常抱歉。我试着在谷歌上搜索,但是我用的关键词找不到相关内容。

1
我认为术语应该是“访问”。例如,“这就是你如何访问数组的第四个元素”。 - Nemo
我猜就是这样了,有人知道“accessing”这个名称是否正确吗? - Anderl
1个回答

6
它被称为“下标操作符”。它是可重载的,但在数组或指针上使用时,“a[n]”与“*(a + n)”具有相同的含义。
这个名字可能来自数学中的向量表示法,其中向量*被写成v = (v1,...,vn),所以vi表示第i个元素。
*) 除非你是一个相对论者,但他们不被允许接近计算机。如果他们这样做,他们会对你大喊“1-form”。

这就是它的含义,但执行a[n]的过程并没有特定的名称。我认为除了“下标操作”之外,没有其他称呼。 - Seth Carnegie
@Kerrek,我觉得那不是我的意思。我想问的是从数组中获取值的过程,而不是用于从数组中获取值的名称。 - Anderl
@Anderl:标准在5.2.1中说“下标”,在8.3.4/8中只是说“表达式x[i][...]等同于*(x+i)”。我不确定你还有什么其他想法——你有类似的例子吗? - Kerrek SB
@Anderl:此外,标准库的容器部分也没有命名该操作,只是以类似于数组的方式描述其效果。然而,operator[]在“元素访问”下列出。 - Kerrek SB
我的意思是,就像我们在做“print(“heya”)”时称其为“调用一个函数”,我想知道从数组中获取值的特定名称是否存在,而不是我们用来执行此操作的运算符的名称。不确定那是否是你试图表达的。 - Anderl
@Anderl:好吧,()[]都出现在标准中作为“后缀表达式”,前者称为“函数调用”,后者称为“下标”。评估函数调用表达式通常被称为“调用函数”,但是标准中没有相应的下标表达式,它只是说评估表达式E1[E2]*(E1 + E2)相同。然而,“访问数组元素”是完全可以接受的语言。 - Kerrek SB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接