一个 Rust 结构体是否可以使用值(而不是类型)作为参数化的类型?

4
我正在学习Rust,我不清楚是否可以使用某些值(以及类型)对Rust结构进行参数化。更明确地说,在Rust中是否可以构建一个模仿此C++结构的结构体?
template <int dim, class T>
struct Data
{
  std::array<T, dim> data_;
};
1个回答

3
当然,你需要一个const泛型参数
struct Data<T, const N: usize> {
    member: [T; N],
}

fn main() {
    let d = Data { member: [0; 6] };
    println!("{:?}", d.member); // [0, 0, 0, 0, 0, 0]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接