vector類型內存的清除

vector<int> m_MatchNum;
... // 一系列操作後
m_MatchNum.Clear();
ClearVector(m_MatchNum);

template <class T>
void ClearVector(vector<T> vec)
{
    vector<T> vecTemp;
    vecTemp.swap(vec);
}
要注意的是, 在清理vector的時候,clear()僅僅會讓vector對象的size(尺寸)變爲0,而vector對象的capacity(容量)沒有變化。也就是說還有內存,所以需要用swap來將其與一個空容器交換來達到釋放內存的效果。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章