Easy Rust #19 references, shadowing


Easy Rust #19 references, shadowing

저번 포스팅에 이어 reference에 대해 살펴봅시다. 변수 number를 선언하고 number를 가리키는 mutable reference인 number_ref를 생성해주었습니다. 그리고 mutable reference를 이용해 원본에 10을 더해주었습니다. 그런데 여기서 새로운 reference를 만들어주었습니다. 그러면 '어 그럼 mutable reference가 존재하는 상태에서 새로운 reference를 만들어 주었으니 컴파일 오류가 나야 하는 것 아닌가요?' 할 수 있습니다. 하지만 컴파일을 해 보면 오류가 뜨지 않고 52가 출력되는 것을 알 수 있습니다. 왜일까요? 새로운 reference를 생성할 때 러스트 컴파일러가 알아서 mutable reference의 수명을 끝내주기 때문입니다. 즉 number_second_ref를 만들면 number_ref는 더이상 사용할 수 없습니다. 예전 러스트에서는 이런 경우 컴파일이 허용되지 않았다고 합니다. 그래서 마지막에 numbe...


#rust #러스트 #프로그래밍

원문링크 : Easy Rust #19 references, shadowing