Copy — 비트 단위로 복사할 수 있는 트레이트

Copy — 비트 단위로 복사할 수 있는 트레이트

Copy는 값을 비트 단위로 그냥 복사해도 되는 타입임을 나타내는 마커 트레이트예요. Copy인 타입은 대입 시 이동(move) 대신 복사가 일어나요.

출처: Rust 공식 문서

본문

pub trait Copy: Clone { }

CopyClone의 슈퍼트레이트라서, Copy면 반드시 Clone도 구현해야 해요. 보통 #[derive(Copy, Clone)]로 파생해요. 정수·실수·bool·char·공유 참조(&T) 등은 Copy예요. 힙 메모리를 관리하는 타입(String, Vec)은 이중 해제 위험이 있어 Copy가 될 수 없어요. Drop을 구현하는 타입도 Copy가 될 수 없어요.

더 알아보기 (Learn more)

Rust 공식 문서