¿Por qué no se libera la memoria de mi programa?
#include <iostream>
#include <string>
#include <deque>
#include <vector>
#include <unistd.h>
using namespace std;
struct Node
{
string str;
vector<string> vec;
Node(){};
~Node(){};
};
int main ()
{
deque<Node> deq;
for(int i = 0; i < 100; ++i)
{
Node tmp;
tmp.vec.resize(100000);
deq.push_back(tmp);
}
while(!deq.empty())
{
deq.pop_front();
}
{
deque<Node>().swap(deq);
}
cout<<"releas\n";
sleep(80000000);
return 0;
}
Portop
, Encontré que la memoria de mi programa era de unos 61 millones, ¿por qué? Y está bien si hay un constructor de copia enNode
Me gustaría saber por qué, no cómo corregirlo.
gcc (GCC) 4.9.1, centos