当您将一个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语义工作正常。
你想知道什么? 'std :: unique_ptr'可以移动但不能复制,因为它是* unique *。 – songyuanyao
啊。错过了这个微小的细节。 –