什么'Vec <t>`是什么意思?

时间:2015-05-22 14:48:28

标签: rust

The Rust Book有时会说&#34;这里我们需要Vec<T>&#34;。

这是否意味着&#34; Vector类型的东西?&#34;另外,你会怎么发音 - &#34; vec tee&#34;?

2 个答案:

答案 0 :(得分:9)

Vec<T>表示&#34;项目向量。这些项目的类型为T&#34;。让我们解开一点......

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

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

struct MyThing<T> {
    thing: T,
}

此处,T是一个类型参数,因为它包含在<>中。它不必是T,可以是SZMyLittlePony。但是,使用T作为&#34;类型&#34;的简写是很常见的。使用单字母名称以避免与具体类型名称发生冲突也很常见。

作为人类,我们有时会使用术语稍微快速松散并使用T,就像我们在数学中使用x或在编程中使用foo一样 - 我们不在乎指定的事情。

我会大声发音为&#34; vec tee&#34;或者&#34; tee&#34;的vec,但这是非常主观的。

答案 1 :(得分:2)

Vec<T>是一个泛型类型,表示一个向量,其中每个元素的类型为T。有关详细信息,请参阅vectorsgenerics部分。