Спасибо CashCow. Я думаю, что объекты стираются каждый раз, когда цикл, когда вокруг, но я думаю, что есть что-то, что только выбрасывается в конце программы. Я не могу опубликовать код здесь. Я тоже попробую deques.
рограмма не работает с сообщением об ошибке «std :: bad_alloc». Программа является масштабируемой, поэтому я протестировал ее на уменьшенной версии с использованием valgrind и утечек памяти не было.
Это приложение статистической механики, поэтому я в основном делаю сотни объектов, изменяю их внутренние данные (в данном случае stl векторы удваивается) и записываю в файл данных. Создание объектов лежит внутри цикла, поэтому, когда оно заканчивается, память свободна. Что-то вроде:
for (cont=0;cont<MAX;cont++){
classSection seccion;
seccion.GenerateObjects(...);
while(somecondition){
seccion.evolve();
seccion.writedatatofile();
}}
Таким образом, есть две переменные, которые устанавливают время вычислений программы, размер системы и количество прогонов. Существует сбой только для больших систем с большим количеством прогонов. Любые идеи о том, как поймать эту проблему с памятью?
Спасибо,