`Vec<T>` 是什么意思?

4

Rust 书 有时会说类似于“这里我们想要一个 Vec<T>”的话。

这是否意味着除了“类型为向量”的东西之外还有其他含义?另外,你会怎样发音它——“vek tee”?


1
啊 - 文档上说它是“写作Vec<T>但发音为'vector'”。 - Nathan Long
2个回答

11

Vec<T>是指“一个元素的向量,这些元素是T类型”。让我们来了解一下...

一个向量是一个数据结构,它包含零个或多个相同类型的元素。这些元素有顺序,可以通过索引(0、1、...)访问。您可以添加和删除元素。元素本身存储在一个连续的堆分配区域中。

T是一个常见的泛型类型参数。类型参数允许您编写抽象特定类型的代码,而不关心该类型是什么。在这个例子中,我们可以创建一个具有任何内部值MyThing

struct MyThing<T> {
    thing: T,
}

在这里,T是一个类型参数,因为它被包含在<>中。它不一定是T,也可以是SZMyLittlePony。然而,使用T作为“type”的速记方式很常见。使用单字母名称以避免与具体类型名称冲突也很常见。
作为人类,我们有时会在术语上有点轻率,就像在数学中使用x或在编程中使用foo一样——我们不想指定的东西。
我会大声发音为“vec tee”或“a vec of tee”,但这相当主观。

5
我感觉我们需要一件 T 恤,在其中一面印上 Vec<,另一面印上 > - DK.
1
@DK。不错。:) 或者我们可以在前面打印 Vec<_> - Nathan Long
1
答案帮助我更好地理解了Rust。谢谢。我感觉很好,之前我感到迷茫 :) - jking

2

Vec<T> 是一种通用类型,表示每个元素都具有类型 T 的向量。有关更多详细信息,请参阅有关向量通用类型的章节。


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