mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-03-22 23:30:32 +08:00
26 lines
395 B
Rust
26 lines
395 B
Rust
use std::ops::Deref;
|
|
|
|
struct MyBox<T>(T);
|
|
|
|
impl<T> MyBox<T> {
|
|
fn new(x: T) -> MyBox<T> {
|
|
MyBox(x)
|
|
}
|
|
}
|
|
|
|
impl<T> Deref for MyBox<T> {
|
|
type Target = T;
|
|
|
|
fn deref(&self) -> &Self::Target {
|
|
&self.0
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let boxed_string = MyBox::new(String::from("装箱的字符串"));
|
|
|
|
let x = 5;
|
|
let y = &x;
|
|
println! ("{}, {}", *boxed_string, *y);
|
|
}
|