ํ—ˆ์ƒ(dangling) ์ฐธ์กฐ

๋Ÿฌ์ŠคํŠธ๋Š” ํ—ˆ์ƒ(dangling) ์ฐธ์กฐ๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ ๋‹จ๊ณ„์—์„œ ์ฐพ์•„๋‚ด๊ณ  ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค:

fn main() {
    let ref_x: &i32;
    {
        let x: i32 = 10;
        ref_x = &x;
    }
    println!("ref_x: {ref_x}");
}
  • ์ฐธ์กฐ๋Š” ์–ด๋–ค ๊ฐ’์„ โ€œ๋นŒ๋ฆฌ๋Š”โ€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋Ÿฌ์ŠคํŠธ๋Š” ์ฐธ์กฐ ๋Œ€์ƒ์˜ ๊ฐ’์ด, ๊ทธ ๊ฐ’์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฐธ์กฐ๋“ค๋ณด๋‹ค ๋” ์˜ค๋ž˜ ์‚ด์•„์žˆ์Œ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
  • ์†Œ์œ ๊ถŒ์— ๋Œ€ํ•œ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์ด ๋นŒ๋ฆผ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์ด์•ผ๊ธฐ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.