Rust(비교)

r24 vs r25
......
7676 }
7777 println!("{result}");
7878} }}}
79만약 위 코드에서 함수가 s2를 리턴한다면 참조가 가리키는 원본인 s2가 죽었는데 result를 조회해서 null pointer가 겼기 때문이다.
79만약 위 코드에서 함수가 s2를 리턴한다면 어떤일이 벌어질지 각해보자.
80
81result를 조회 할 때 s2의 원본을 조회해야하는데 그게 스코프를 나가버려서 사라져버렸다. 따라서 null pointer가 된다.
8082
8183그러면 의문이 들 것이다. "아니 그러면 런타임 에러를 발생시키면 되잖아." 그런데 러스트는 그걸 하지 말라 만든 언어다. 언어 설계에 모순이 생긴다.
8284
......