Box
Box
๋ ํ ๋ฐ์ดํฐ์ ๋ํ ์์ ํฌ์ธํฐ์
๋๋ค:
fn main() { let five = Box::new(5); println!("five: {}", *five); }
Box<T>
์ Deref<Target = T>
๋ฅผ ๊ตฌํํฉ๋๋ค. ์ด๋ Box<T>
์์ T
๋ฉ์๋๋ฅผ ์ง์ ํธ์ถ ํ ์ ์๋ค๋ ์๋ฏธ์
๋๋ค.
Box
๋ C++์std::unique_ptr
๊ณผ ๋น์ทํฉ๋๋ค. ์ฐจ์ด๋ผ๋ฉดBox
๋ ๋์ด ์๋์ ๋ณด์ฅํ๋ค๋ ์ ์ ๋๋ค.Deref
๋๋ถ์ ์ ์์ ์println!
๋ฌธ์ ์ฌ์ฉ๋*
๋ฅผ ๋นผ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.Box
๋ ์๋์ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค:- ํ์ ํฌ๊ธฐ๋ฅผ ์ปดํ์ผ ์์ ์ ์ ์ ์๋ ๊ฒฝ์ฐ.
- ์์ฃผ ํฐ ๋ฐ์ดํฐ์ ์์ ๊ถ์ ์ ๋ฌํ๊ณ ์ถ์ ๊ฒฝ์ฐ. ์คํ์ ์๋ ํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ๋ ๋์
Box
๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ ํ์ ์ ์ฅํ๊ณ ํฌ์ธํฐ๋ง ์ด๋ํ๋ฉด ๋ฉ๋๋ค.