Box

Box๋Š” ํž™ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์†Œ์œ  ํฌ์ธํ„ฐ์ž…๋‹ˆ๋‹ค:

Box is an owned pointer to data on the heap:

fn main() {
    let five = Box::new(5);
    println!("five: {}", *five);
}
5StackHeapfive

Box<T>์€ Deref<Target = T>๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Box<T>์—์„œ T ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ฅผ ์ง์ ‘ ํ˜ธ์ถœ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

Box<T> implements Deref<Target = T>, which means that you can call methods from T directly on a Box<T>.


์—ญ์ฃผ

  • ์ผ์ข…์˜ ๋ž˜ํ•‘ ๊ฐ์ฒด๋ผ์„œ ํƒ€์ž…์„ ๋‹ด๋Š” โ€˜์ƒ์žโ€™ ๋ผ๋Š” ์˜๋ฏธ์ธ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.