2016-11-17 100 views
2

說我有這樣一類如果我在C++類中聲明一個向量,它是否會被銷燬,然後類的instate被銷燬?

class A { 
public: 
     vector<int> intVector; 
     A() { 
      intVector.push_back(1); 
     }; 
     ~A(){}; 
}; 

int main() { 
     A *k = new A; 
     delete k; 
} 

當A被實例爲k,intVector的將被創建。然而,我的問題是,如果析構函數不關心intVector,當k的指針被銷燬時,爲intVector分配的內存是否會被回收?

+0

你的析構函數是正確的。 – Jarod42

回答

1

是,編譯器將生成代碼的類的析構函數內銷燬所有成員變量(以及任何調用基類的析構函數類源自)

+0

謝謝!我想這應該刪除,因爲類中的變量被刪除,但不知道如何。 – Musen

相關問題