Rust

`Drop` 트레이트로 메모리 정리 코드 실행하기

스마트 포인터 패턴에서 중요한 트레이트 그 두 번째는 Drop인데, 이는 어떤 값이 스코프 밖으로 벗어나려고 할 때 무슨 일을 할지 커스터마이징하게끔 해줍니다. 어떠한 타입이든 Drop 트레이트를 구현할 수 있고, 이 코드가 파일이나 네트워크 연결 같은 자원 해제에 사용되게 할 수 있습니다.

std::mem::drop와 Drop를 중심으로 Drop 트레이트로 메모리 정리 코드 실행하기의 판단 흐름을 읽습니다.

핵심 흐름

1

std::mem::drop

따라서, 어떤 값에 대한메모리 정리를 강제로 일찍 하기 원할 때는 std::mem::drop 함수를 이용합니다.std::mem::drop 함수는 Drop 트레이트에 있는...

2

Drop

스마트 포인터 패턴에서 중요한 트레이트 그 두 번째는 Drop인데, 이는 어떤 값이스코프 밖으로 벗어나려고 할 때 무슨 일을 할지 커스터마이징하게끔 해줍니다.

3

Box

예를들어 Box 가 버려질 때는 이 박스가 가리키고 있는 힙 공간의 할당을해제할 것입니다.몇몇 언어들에서는 어떤 타입의 인스턴스 사용을 끝낼 때마다

4

drop 역할

Drop 트레이트는 drop이라는 이름의 메서드 하나를 구현해야 하는데 이메서드는 self에 대한 가변 참조자를 매개변수로 갖습니다.