當您將一個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
啊。錯過了這個微小的細節。 –