Czy STL deque pop_front () automatycznie przetwarza pamięć?
Mam program, w którym gromadzę dane i przechowuję je tymczasowo w deque
typedef vector<float> floatVector;
...
floatVector * currRecord;
deque<floatVector *> data;
...
...
for (...)
{
...
currRecord = new floatVector(10);
data.push_back(currRecord);
}
Później chcę zapisać dane do pliku
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();
}
Więc moje pytanie brzmi: czy ten program spowoduje wyciek pamięci? używamnew
operator do przydzielania pamięci dla każdegocurrRecord
wektor. Czy Dequepop_front
funkcja automatycznie przetwarza pamięć? Czy muszę to zrobić?
delete [] data[0]
przed
data.pop_front();
? Także jeślidata
jest wektorem zamiast deki, czy wszystko będzie takie samo? Dzięki!