1. 동작이 memcpy로 고정돼있음 이동 생성자의 개념이 존재하지않음
2. 이전값은 새값에 소유권을 넘겨주고 접근이 불가능해짐 이때 따로 정리하거나 소멸자를 호출하지는않음
3. Copy 특성을 가진 타입들은 무조건 이동대신 복사를함
얘도 동작은 memcpy인데 대신 소유권을 자기도 들고있어서 여전히 접근이 가능함
참고로 Drop 특성있는 타입은 Copy 구현이 불가능해서 소멸자가 두번 호출될일은 없음
대표적인게 i32 f32같은 숫자타입들이나 &i32 &str같은 shared reference 타입
3번 이상한데 Clone::clone 부르는 걸로 오해하겠어 그렇지 않은데
내가 잘못알고있었네 얘도 memcpy였누..
님덕에 수정함 ㄱㅅ
이동생성자가 없다고? 성능충언어 아니었나
C++ 이동생성자 대부분이 필드옮기고 널포인터로 채우는건데 러스트에선 필요없음
C++의 이동생성이 동적으로 할당되는 데이터를 복사하지 않고 포인터만 복사한후 원본은 뒷처리한다 이런 개념이잖아 러스트도 마찬가지로 동적으로 할당된 데이터를 복사하지는 않음