使用HashMap代替Rust中的指针

时间:2019-07-14 22:08:28

标签: rust idioms

在我使用Rust的冒险中发生了我,索引到HashMap<usize,_>具有与进行直接堆分配相同的许多优点,但是没有在Rust中进行后者分配时遇到的困难。将索引视为指针,您将得到:

  • 恒定时间查找
  • 实体可以轻松地共享对堆值的可变“引用”
  • 笨拙的Box ing业务
  • 您仍然具有Rust的内存安全性

我可以立即想到一些缺点:

  • 您将不得不重新“手动释放”内存,直到HashMap本身超出范围为止
  • 由于内部调整大小,分配成本变得难以预测

这是否被视为反模式,或者在用于正确的用例时惯用吗?

0 个答案:

没有答案