Короче есть тестовая такая програмка:
int main()
{
body mex(5);
body* lex = new humanBody(0);
cin.get();
cout << (bodies.size())<<endl;
for(int i=0; i<500000;i++){
lex =new humanBody(234);
bodies.push_back(lex);
delete bodies;
}
cin.get();
bodies.resize(0);
cin.get();
return 0;
}
(cin.get() чисто для того чтобы было время посмотреть на память.)
Кроме этого в программе есть два класса, humanBody наследует body, но это вообще не важно.
Важно то, что до создания поинтеров программа занимает 900 кб оперативной памяти, а после их создания и тут же удаления остаётся 3200 кб.
Можете подсказать где я допустил ошибку? Хотелось бы чтобы память возвращалась к 900 кб.
int main()
{
body mex(5);
body* lex = new humanBody(0);
cin.get();
cout << (bodies.size())<<endl;
for(int i=0; i<500000;i++){
lex =new humanBody(234);
bodies.push_back(lex);
delete bodies;
}
cin.get();
bodies.resize(0);
cin.get();
return 0;
}
(cin.get() чисто для того чтобы было время посмотреть на память.)
Кроме этого в программе есть два класса, humanBody наследует body, но это вообще не важно.
Важно то, что до создания поинтеров программа занимает 900 кб оперативной памяти, а после их создания и тут же удаления остаётся 3200 кб.
Можете подсказать где я допустил ошибку? Хотелось бы чтобы память возвращалась к 900 кб.