Jef*_*ges 6 indexing rust
Rust std::ops::Index<T> 只支持T成为一个usize.这背后的原因是什么?
std::ops::Index<T>
T
usize
此外,当您尝试使用其他任何内容时,没有建议"尝试使用usize",只是"特质[&'static str]: core::ops::Index<u8>不满意"错误.这可能是因为他们计划支持更多类型T,但由于某种原因推迟这样做?
[&'static str]: core::ops::Index<u8>
DK.*_*DK. 11
Rust std::ops::Index<T>只支持T成为一个usize.
事实并非如此. HashMap例如,接受密钥类型可以借用的任何类型(因此您可以HashMap<String, _>使用a 索引a &str).
HashMap
HashMap<String, _>
&str
切片只允许您使用它们进行索引usize,所有容器类型在内存中假装是或实际上都是线性的.那是因为它usize是用于索引它们的正确类型.任何其他类型将无法访问容器的完整潜在范围,或者将允许不可能存在的索引.
人们过去曾经问过如何添加较小的类型来进行切片索引,但这种方法会向后兼容,因此不会很快发生.
归档时间:
9 年,7 月 前
查看次数:
1824 次
最近记录: