У меня есть следующие два размерный вектор:Освобождение памяти, выделенной для 2-мерного вектора
std::vector<std::vector<int>> m_scoreVector;
Я стараюсь следующий код, чтобы освободить выделенную память. Но это не работает. Будет выпущена небольшая часть памяти:
for (int k = 0; k < m_scoreVector.size(); ++k){
std::vector<int>().swap(m_scoreVector[k]);
m_scoreVector[k].shrink_to_fit();
m_scoreVector[k].clear();
}
std::vector<std::vector<int>>().swap(m_scoreVector);
m_scoreVector.shrink_to_fit();
m_scoreVector.clear();
Я новичок в управлении памятью. Пожалуйста, дайте мне знать, как мне освободить выделенную память для этого вектора. Спасибо.
Это освобождено для вас. Это действительно так просто. – chris
Это не так! При каждом запуске этот вектор получает 2000 КБ, но он освобождает только 200 КБ! – Bipario
Как вы определяете, сколько памяти используется? –