#array #box #heap #nested #multidimensional-array #initialization #allocate

boxarray

在 Rust 中直接在堆上安全地分配和初始化嵌套数组的途径

6 个稳定版本

1.3.0 2023 年 10 月 16 日
1.2.1 2023 年 10 月 9 日
1.2.0 2023 年 9 月 30 日
1.1.0 2023 年 9 月 25 日
1.0.1 2023 年 9 月 24 日

#413内存管理

MIT 许可证

10KB
127 代码行

boxarray

GitHub Workflow Status Crates.io Docs.rs

在 Rust 中直接在堆上安全地分配和初始化嵌套数组的途径。

用法

要在您的 Rust 项目中使用 boxarray,只需将其添加到您的 Cargo.toml 中的依赖项

[dependencies]
boxarray = "1.3.0"

然后将其导入并在您的项目中使用

use boxarray::boxarray;
use boxarray::boxarray_;

fn main() {
  let v = 7.0;
  let a: Box<[[[f64; 3]; 2]; 4]> = boxarray(v);
  println!("{a:?}");

  let f = |((((), i), j), k)| (i+j*k) as usize;
  let a: Box<[[[usize; 3]; 2]; 4]> = boxarray_(f);
  println!("{a:?}");
}

lib.rs:

Box 内安全地分配和初始化嵌套数组的途径。

用法

为了初始化一个 Boxed 嵌套数组,只需调用 boxarray 函数并给出要初始化的值(此处为 v

  let v = 7.0;
  let a: Box<[[[f64; 3]; 2]; 4]> = boxarray::boxarray(v);

初始化也可以通过使用 boxarray_ 来完成,该函数接受嵌套元组的坐标作为参数的函数

  let f = |((((), i), j), k)| (i+j*k) as usize;
  let a: Box<[[[usize; 3]; 2]; 4]> = boxarray::boxarray_(f);

无运行时依赖