是不是;向量";在C++;听起来很奇怪,因为我不是以英语为母语的人? 在C++中,向量是一个有序的相同类型对象的容器,但这与我脑海中出现的图像非常不同,它是一个线段加上一端的箭头。 当我在C++中使用这个错误时,我会感到不安,一次又一次。

是不是;向量";在C++;听起来很奇怪,因为我不是以英语为母语的人? 在C++中,向量是一个有序的相同类型对象的容器,但这与我脑海中出现的图像非常不同,它是一个线段加上一端的箭头。 当我在C++中使用这个错误时,我会感到不安,一次又一次。,c++,vector,C++,Vector,有一个解释,但感觉仍然存在 第一课很好地暗示了思考N维空间的方法,但这种感觉仍然存在 我想这是因为当我年轻的时候,我在课堂上看到带箭头的线段被标记为“向量”,汉语中的“向量”可能有不同的含义和形象,这与以英语为母语的人的观点不同。也许C++的作者选择使用“vector”这个词,觉得它是非常自然的和直截了当的。 你能告诉我,作为一个以英语为母语的人,你是如何以形象和直觉的方式在脑海中学习和感受这个词的 非常感谢。在您提到的帖子中得到了回答。但让我们再试一次。 在平面中,任何“向量”(箭头)都有两个

有一个解释,但感觉仍然存在

第一课很好地暗示了思考N维空间的方法,但这种感觉仍然存在

我想这是因为当我年轻的时候,我在课堂上看到带箭头的线段被标记为“向量”,汉语中的“向量”可能有不同的含义和形象,这与以英语为母语的人的观点不同。也许C++的作者选择使用“vector”这个词,觉得它是非常自然的和直截了当的。 你能告诉我,作为一个以英语为母语的人,你是如何以形象和直觉的方式在脑海中学习和感受这个词的


非常感谢。

在您提到的帖子中得到了回答。但让我们再试一次。 在平面中,任何“向量”(箭头)都有两个坐标:x和y,因此可以写成(x,y)

在n维空间中,任何向量都有n个坐标(x1,x2,…,xn)

最初,C中的名称向量是指定一个数字序列,如上所述。这个想法被扩展到指定任何具有相同大小的“对象”序列

所以我建议你把它理解为“某个向量的坐标”,但实际上它只是一个序列,一个数组,一个表格…)

A不是一个段。这是对翻译运动()的描述

如果将其描述为代数,则表示x坐标的“偏移量”和y坐标的“偏移量”。如果转到三维,则必须为z坐标添加偏移

但在数学中,空间可以是2D、3D,但也可以是4D(加上时间维度),或者(这对大多数大脑来说都很难想象,霍金斯除外)。然后,N维向量由N个偏移表示。如果偏移量用双表示,则C++中用向量表示这个向量。
在C++中,向量不仅把数学概念推广到数字,而且推广到任何类型。p> 括号中的数字列表指定了每个维度的大小。你对“集合”也有同样的感觉吗?@PaulMcKenzie不,完全没有。集合就像一个袋子,里面装着东西,这些东西可以是任何东西,在我看来。
std::vector
的名字不太好。甚至它的发明者亚历山大·斯捷潘诺夫(Alexander Stepanov)也会告诉你这一点。它与数学向量几乎没有什么共同之处。我个人认为,在数学中,不尝试用一个数学向量或向量的概念来适应C++矢量的概念。老实说,我不知道C++数据类型的名称是否来自向量的数学概念(尽管它可能是这样做的)。但据我所知,没有特别的理由建立这种联系。无论如何,对我来说,把C++向量看作动态数组更容易。类似地,我不必思考为什么“植物”这个词可以指某种植被或是工厂,我不必混淆工厂和树的关系。你的意思是在C语言中也有一个典型的向量概念,如C++吗?“原始”意味着什么,在C++语言的进化过程中,还是在人们使用向量容器的方式中?实际上,没有,C中的向量是原生数组([])。我的意思是C++或任何具有“向量”概念的语言,所以向量概念基本上是从数学的观点出发的,在你学习n维空间概念后,你会感到自然,对吧?感谢三重编辑提供链接:)许多数学家反对向量的“大小和方向”描述。在数学中容忍模糊性的人中,实数空间可能更受欢迎,但实数空间是有理数域上的完美向量空间,满足递归的序列形成向量空间,向量空间的对偶是向量空间,等等。它们被教学的拐杖描述得很糟糕,这些拐杖帮助一些人保持R^2或R^3的数字和元素笔直。