<예제 코드_1>
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) -> &T {
&self.0
}
}
fn hello(name: &str) {
println!("Hello, {}!", name);
}
fn main() {
let m = MyBox::new(String::from("Rust"));
hello(&m);
}
<참조 1> https://rinthel.github.io/rust-lang-book-ko/ch15-02-deref.html
<참조_2>
'Rust' 카테고리의 다른 글
[Rust] Rc<T> 참조 카운팅 스마트 포인터 예제 (38일자) (0) | 2023.01.21 |
---|---|
[Rust] Ownership(소유권) 기초 예제 : &str (37일차) (0) | 2023.01.20 |
[Rust] Ownership(소유권) 기초 예제 : For Loop (35일차) (0) | 2023.01.18 |
[Rust] Ownership(소유권) 기초 예제 : Vec<String> (34일차) (0) | 2023.01.16 |
댓글