์ฐธ์กฐ
C++์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฌ์คํธ๋ ์ฐธ์กฐํ์ ๊ฐ์ต๋๋ค:
fn main() { let mut x: i32 = 10; let ref_x: &mut i32 = &mut x; *ref_x = 20; println!("x: {x}"); }
์ฐธ๊ณ ์ฌํญ:
ref_x
์ ๊ฐ์ ํ ๋นํ ๋, C/C++์ ํฌ์ธํฐ์ ์ ์ฌํ๊ฒ*
๋ฅผ ์ด์ฉํด์ ์ฐธ์กฐ๋ฅผ ๋ฐ๋ผ๊ฐ์ผ(์ญ์ฐธ์กฐ) ํฉ๋๋ค.- ๋ฌ์คํธ๋ ํน์ ํ ๊ฒฝ์ฐ(๋ฉ์๋ ํธ์ถ)์ ์๋์ผ๋ก ์ญ์ฐธ์กฐ๋ฅผ ํฉ๋๋ค.(
ref_x.count_one()
์ ํ๋ฉด*ref_x
๊ฐcount_one
์ ์ธ์๋ก ์ ๋ฌ๋ฉ๋๋ค.) mut
๋ก ์ ์ธ๋ ์ฐธ์กฐ๋ ๊ทธ ๋ณ์๊ฐ ์ด์์๋ ๋์ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค.
ํค ํฌ์ธํธ:
let mut ref_x: &i32
์let ref_x: &mut i32
์ ์ฐจ์ด์ ์ ์ฃผ์ ํ์๊ธฐ ๋ฐ๋๋๋ค. ์ฒซ๋ฒ์งธ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ ๋ฐ์ธ๋ฉ ๋ ์ ์๋ ๊ฐ๋ณ ์ฐธ์กฐ์ด๊ณ , ๋๋ฒ์งธ ๊ฐ์ ๊ฐ๋ณ ๊ฐ์ ๋ํ ์ฐธ์กฐ์ ๋๋ค.