gpt4 book ai didi

indexing - 为什么 Rust 中的所有索引都是 usize 类型的?

转载 作者:行者123 更新时间:2023-11-29 07:47:34 25 4
gpt4 key购买 nike

Rust 的 std::ops::Index<T> only支持T作为usize .这背后的原因是什么?

此外,当您尝试使用其他任何东西时,也没有“尝试使用 usize”的建议,只有“trait [&'static str]: core::ops::Index<u8> not satisfied”错误。这可能是因为他们计划支持更多类型 T , 但由于某种原因延迟这样做?

最佳答案

Rust's std::ops::Index<T> only supports T being a usize.

这不是真的。 HashMap ,例如,接受键类型可以借用的任何类型(因此您可以使用 HashMap<String, _> 索引 &str)。

切片 只允许您使用 usize 对其进行索引,就像所有在内存中假装或实际上的容器类型一样。那是因为usize是索引它们的正确类型。任何其他类型要么无法访问容器的全部潜在范围,要么将允许不可能存在的索引。

人们过去曾问过要将较小的类型添加到切片索引中,但这是向后不兼容的,因此短期内不会发生。

关于indexing - 为什么 Rust 中的所有索引都是 usize 类型的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40259802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com