我有一個帶有C++ DirectX組件的Windows Phone 8 C#項目。在C++中的DirectX項目,我在我的頭文件中定義一個變量:如何刪除存儲在向量中的std :: unique_ptr的內存
std::vector<std::shared_ptr<ParticleRenderer>> m_particleRenderer;
在我的C++文件,我添加了新的元素添加到Vector這樣的:
m_particleRenderer.push_back(std::unique_ptr<ParticleRenderer>(new ParticleRenderer(m_d3dDevice, m_d3dContext, m_renderTargetView, m_depthStencilView)));
我想刪除這個記憶,我該如何去刪除它?
謝謝
我想刪除任何使用的內存,因爲我似乎有一些內存泄漏。那將是第一個選項,對吧?對於第二種選擇,「刪除內存」和「銷燬它們」有什麼區別? – Lisa
@Lisa我剛剛注意到'm_particleRenderer'存儲'shared_ptr'而不是'unique_ptr',但第一個選項很可能是你想要的。我會更新答案。 –