是否可以使用泛型的类型参数来控制数组的大小?

Byr*_*ron 19 rust

以下内容仅用作示例,而不是有效的Rust代码.

struct Vec<T: Sized, Count> {
    a: [T; Count]
}
Run Code Online (Sandbox Code Playgroud)

在C++模板中可能有类似的东西,但我还没有在Rust中看到它.

Mat*_* M. 18

如果你看一下Rust的设计,你会发现它首先解决了最困难的问题(内存安全,数据竞争免费),但是还有许多领域是"不完整的"(与可能的相比)实现).

特别是,今天的通用结构和功能有些限制:

  • 缺乏高级金属类型(HKT)
  • 缺少非类型参数=>数组是特殊的,并且为数组实现特征是一个已知问题,解决方法是为几个不同的维度实现它
  • 缺乏可变参数=>元组是特殊的,并且为所有元组实现特性同样困难

目前,这些都没有实施,不是因为它们不是被期望的,而仅仅是因为缺乏时间.Rust 1.0的想法不是发布一个不会发展的最终产品,而是一个稳定的基础,从此开始; 一些或许所有人都会来.

至于路线图?好吧,虽然1.0之后确定没有我知道的,但我邀请你保持警惕.


She*_*ter 5

在等待Rust对此提供一流支持的同时,有些板条箱提供了一定级别的此功能,例如: