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

Nat*_*ong 4 rust

Rust Book有时会说"我们想要的东西Vec<T>".

除了"Vector类型的东西吗?"之外,这是否意味着什么?另外,你会怎么发音 - "vec tee"?

She*_*ter 9

Vec<T>表示"项目的向量.项目类型T".让我们解开一下......

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

T是一个常见的泛型类型参数.类型参数允许您编写在特定类型上进行抽象的代码,而无需关心该类型.在这个例子中,我们可以MyThing使用任何类型的内部值创建:

struct MyThing<T> {
    thing: T,
}
Run Code Online (Sandbox Code Playgroud)

这里T是一个类型参数,因为它包含在<>.它不一定是T,它可以是SZMyLittlePony.但是,通常将T其用作"类型"的简写.使用单字母名称以避免与具体类型名称发生冲突也很常见.

作为人类,我们有时会对术语有一点快速和松散,并且使用T的方式与我们x在数学或foo编程中使用的方式相同- 我们还不关心这一点.

我会大声发音为"vec tee"或"tee of vee",但这是非常主观的.

  • 我觉得我们需要一件T恤,一边是'Vec <`,另一边是`>`. (5认同)