-1
class A{
public:
A():p(nullptr){};
private:
std::unique_ptr<B> p; // B is some class
};
當A的對象超出範圍時,將自動刪除佔用內存空間的內存空間,該內存空間消耗的內存空間爲p。即使類僅由智能指針組成,我們是否應該聲明/定義析構函數?
我們是否應該像下面那樣顯式編寫析構函數?
~A(){
delete p;
}
這是多餘的嗎?
'ptr'未申報。如果你的意思是'p','p'不是一個原始指針。 – aschepler
我調試它:-9 – mallea