以下内容仅作为示例,并非有效的Rust代码。
struct Vec<T: Sized, Count> {
a: [T; Count]
}
类似的东西在C ++模板中是可能的,但是我在Rust中还没有看到它。
此功能尚不可用。RFC 2000 — const泛型将在实现它并跟踪问题进展时为其提供支持#44580。计划为Rust 1.51提供基本支持。
在每晚的Rust中,您的示例如下所示:
// 1.51.0-nightly (2020-12-30)
struct Vec<T: Sized, const COUNT: usize> {
a: [T; COUNT],
}
如果您看一下Rust的设计,您会注意到它首先是从解决最棘手的问题(内存安全,无数据争用)开始的,但是在其他地方,它还是“不完整的”(相比之下,达成)。
特别是,当今的通用结构和功能有些受限制:
目前,还没有实现这些功能,不是因为不需要它们,而是因为时间紧缺。Rust 1.0的想法不是发布不会演进的最终产品,而是要从中开始的稳定基础。某些或全部都会来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句