gpt4 book ai didi

vector - 包含另一个向量的向量的类型是什么?

转载 作者:行者123 更新时间:2023-11-29 08:27:23 24 4
gpt4 key购买 nike

struct Tree<T> {
leaf: Vec<?>
}

fn main() {
let fuji = Tree { leaf: vec![1, 2, [[3, 4, 5], 6, [7, 8, 9]] };
}

我不知道我应该在 Vec<> 中放什么这样上面的代码就可以运行了。

最佳答案

Rust 的 Vec tor 写了Vec<T>这意味着它的每个元素都必须是 T 类型.如果您需要向量的向量,这是可能的 - 那么它是 Vec<Vec<T>> (每个元素现在都是 Vec<T>)。

在您编写的代码中:

vec![1, 2, [[3, 4, 5], 6, [7, 8, 9]]

这是尝试创建一个包含整数的向量和一个由固定长度 (3) 整数数组组成的固定长度 (3) 数组 整数。哇!这远非 Vec 要求的同质性。数据类型。

您可以像这样创建一个向量向量:

let v: Vec<Vec<i32>> = vec![vec![1,2,3], vec![4,5], vec![6]];

由于矢量(与数组不同)的类型不受其长度的限制,因此这是有效的 VecVec反过来,它们是有效的,因为它们只包含整数(i32)。

我建议浏览 The Rust Book ,基本 Rust 知识的最佳来源。

关于vector - 包含另一个向量的向量的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41869608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com