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๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ ํ์ ์ ์ฅํ๊ณ ํฌ์ธํฐ๋ง ์ด๋ํ๋ฉด ๋ฉ๋๋ค.