Будет ли STL deque pop_front () автоматически перезагружать память?
У меня есть программа, в которой я собираю некоторые данные и временно храню их в
typedef vector<float> floatVector;
...
floatVector * currRecord;
deque<floatVector *> data;
...
...
for (...)
{
...
currRecord = new floatVector(10);
data.push_back(currRecord);
}
Позже я хочу сохранить данные в файл
while (data.size() > 0)
{
for (int i=0; i < 10; i++)
{
fprintf(fPtr, "%lf\t", data[0]->at(i) );
}
fprintf(fPtr,"\n");
data.pop_front();
}
Итак, мой вопрос, эта программа вызовет утечку памяти? я используюnew
оператор для выделения памяти для каждогоcurrRecord
вектор. Будет ли dequepop_front
функция автоматически перезаписывает память? Или мне нужно поставить
delete [] data[0]
до
data.pop_front();
? Кроме того, еслиdata
это вектор вместо deque, все будет так же? Спасибо!