【问题标题】:What is the proper way to use bit array in Rust?在 Rust 中使用位数组的正确方法是什么?
【发布时间】:2017-09-28 18:08:07
【问题描述】:

我需要一个功能等于 C++ 中的vector<bool> 的类。 The Rust documentation tells about BitVec,但use std::collections::BitVec 在编译过程中导致Unresolved import 错误。根据a pull requestBitVec 已被删除。有没有合适的替代品?

【问题讨论】:

标签: rust bitarray


【解决方案1】:

标准库中不存在专用位向量,Vec<bool> 不像 C++ 的vector<bool> 那样专门化。 Rust 提倡使用外部 crate,而不是构建一个庞大的标准库。这个用例的实际 crate 是 bit-vec

您似乎找到了旧标准库文档的链接:https://doc.rust-lang.org/1.2.0/std/collections/struct.BitVec.html。请注意网址中的1.2.0! Rust 的当前版本是 1.25(截至 2018 年 4 月),这意味着 1.2 已经有两年多的历史了。除此之外,BitVec 在 1.2 文档中被标记为不稳定;它后来被删除了。

【讨论】:

  • Vec<bool> 不像 C++ 的 vector<bool> 那样专门化——谢天谢地。这不是一个好决定:让我们有一个 行为不同vector
  • 请注意:此板条箱“由于维护人员资源不足,处于维护模式”
  • 还有一个令人困惑的名字bitvec crate,我发现它更有特色。 docs.rs/bitvec
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
相关资源
最近更新 更多