作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
downcast()
Rust 的 Box
类型的方法要求调用站点拥有 Box 实例的完全所有权。似乎没有可以与借用引用一起使用的等价物。是否有一个原因?是否有适用于借用实例的解决方法?
最佳答案
有一个替代方法,但它不是Box
的方法: 这是 Any::downcast_ref()
.感谢 deref 强制和 Box
es Deref
-impl,你可以调用T
在 Box<T>
上的方法直接地。因此你可以调用Any::downcast_ref()
在你的 Box<Any>
直接:
let b: Box<Any> = Box::new(27u64);
// The type of `ref_a` and `ref_b` is `&u64`
let ref_a = b.downcast_ref::<u64>().unwrap();
let ref_b = b.downcast_ref::<u64>().unwrap();
println!("{} == {}", ref_a, ref_b);
还有 Any::downcast_mut()
获取可变引用。
关于rust - 压低借来的箱子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42079539/
x bins, each with capacity y x*y items each (item, bin) pair has an associated score 在给定上述标准的情况下,是否有
我正在尝试在我的程序中使用 rustc crate。 #[macro_use] extern crate rustc; extern crate rustc_typeck; extern crate
我正在使用 Piston 构建 Rust 游戏,我正在尝试使用 SublimeLinter Rust package .当我打开 .rs 游戏文件时,出现以下 linter 错误: extern cr
我是一名优秀的程序员,十分优秀!