Rust

`Rc<T>`, 참조 카운트 스마트 포인터

대부분의 경우에서 소유권은 명확합니다. 즉 어떤 변수가 주어진 값을 소유하는지 정확히 압니다.

Rc를 사용해 여러 소유자가 같은 값을 공유할 때 참조 카운트가 어떻게 늘고 줄어드는지 확인합니다.

핵심 개념

예제 14-18: Rc를 이용하는 List 정의

예제 14-18은 Rc를 이용해 List를 정의합니다. Rc는 프렐루드에 포함되어 있지 않으므로 이를 스코프로 가져오려면 use 구문을 추가해야 합니다.

1

Rc를 사용하여 데이터 공유하기

노드는 어떠한 에지도 이를 가리키지 않아 소유자가 하나도 없는 상태가 아니라면 메모리에서 정리되어서는 안 됩니다. 명시적으로 복수 소유권을 허용하려면 러스트의 Rc 타입을 사용합니다.

2

Rc

Rc 타입은 어떤 값의 참조자 개수를 계속 추적하여 해당 값이 계속 사용 중인지를판단합니다.

3

그림 14-3

개념적으로는 그림 14-3처럼 생겼습니다.