¿STL deque pop_front () reciclará automáticamente la memoria?
Tengo un programa en el que recojo algunos datos y los almaceno temporalmente en un disco.
typedef vector<float> floatVector;
...
floatVector * currRecord;
deque<floatVector *> data;
...
...
for (...)
{
...
currRecord = new floatVector(10);
data.push_back(currRecord);
}
Más tarde, quiero guardar los datos en el archivo
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();
}
Entonces, mi pregunta es, ¿este programa causará una pérdida de memoria? yo suelonew
operador para asignar memoria para cadacurrRecord
vector. Será el dequepop_front
¿La función recicla automáticamente la memoria? O necesito poner
delete [] data[0]
antes de
data.pop_front();
? También sidata
es un vector en lugar de un deque, ¿todo será igual? ¡Gracias!