gpt4 book ai didi

generics - 是否可以通过Rust中的模式匹配来打开通用元组的包装?

转载 作者:行者123 更新时间:2023-12-03 11:29:09 24 4
gpt4 key购买 nike

可以执行以下操作:

fn foo((a, b): (i32, f32)) {
unimplemented!();
}

可以通过以下方式执行:
let ab = (1, 2.0);
foo(ab);

实际上, ab分别解压缩为 ab

我想对泛型做类似的事情。
pub struct QuadTree<(Kx, Ky), V> {
...
}

不管它是否有用,我不确定如何进行编译。理想情况下,我希望能够这样调用:
struct Point(i32, i32);    

...

let quad_tree: QuadTree<Point, String> = QuadTree::new();

如果没有宏,Rust每晚有可能吗?

最佳答案

您可能需要以下内容:

pub struct QuadTree<GenericPoint, V> {
...
}

然后,您可以(通过特征)要求 GenericPoint提供x-和y-acceessor。可能还需要 GenericPoint来为 KxKy定义类型别名。

关于generics - 是否可以通过Rust中的模式匹配来打开通用元组的包装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59297712/

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