스마트 포인터에 대해 더 많이 읽고 있었고 하나의 unique_ptr을 다른 것으로 복사 할 때 생성자 개념이 삭제되었습니다. 그 개념은 정확히 무엇입니까?unique_ptr에서 생성자가 삭제되었습니다
#include<iostream>
#include<memory>
class Person {
public:
int e;
Person(int e) : e(e) { }
};
int main() {
std::unique_ptr<Person> p (new Person(5));
// Below line seems to be deleting constructor and thus error in compiling.
std::unique_ptr<Person> q = p;
}
std :: move semantics는 잘 작동합니다.
알고 싶은 점은 무엇입니까? 'std :: unique_ptr'는 옮길 수는 있지만 복사 할 수 없습니다. 왜냐하면 그것은 * unique *이기 때문입니다. – songyuanyao
Aah. 이 작은 세부 사항을 놓쳤습니다. –