Why does my program's memory not release?

后端 未结 2 1025
青春惊慌失措
青春惊慌失措 2020-12-22 10:40
#include 
#include 
#include 
#include 
#include 
using namespace std;
struct Node
{
    str         


        
2条回答
  •  星月不相逢
    2020-12-22 11:22

    If container is vector, you can use swap to release memory, container is deque, you should use clear to release memory, like this:

    int main ()
    {
        deque deq;
        for(int i = 0; i < 100; ++i)
        {
            Node tmp;
            tmp.vec.resize(100000);
            deq.push_back(tmp);
        }
        while(!deq.empty())
        {
            deq.pop_front();
        }
        deq.clear();
        // Or, you should try to use `deque().swap(deq);`, not `local`.
    
        cout<<"releas\n";
        sleep(80000000);
        return 0;
    }
    

提交回复
热议问题