vector<int> v1, v2;
/*1*/ vector<int> &someReference=v1; //compiles
/*2*/ someReference=v2; //compiles
vector<unique_ptr<int>> vec1, vec2;
/*3*/ vector<unique_ptr<int>> &otherReference=vec1; //compiles
/*4*/ otherReference=vec2; //ERROR
줄 3도 4도 컴파일되지 않았지만 세 번째 컴파일 오류가 발생하지 않는지 이해할 수 있습니다. 처음으로 참조를 초기화하고 주위를 전달하는 데 문제가없는 것 같습니다. 문제는 두 번째 할당하려고 할 때만 나타납니다.unique_ptr을 참조하는 것이 왜 이런 식으로 동작합니까?
두 번째 할당을 불가능하게 만드는 장면 뒤에 무엇이 일어나고 있는지 이해할 수 없습니다.
google "이동 의미" –