Приведет ли это к утечке памяти, если я не удалю * itr?Я просто интересуюсь проектом и не хочу снимать очки.
void Directory::removeFile(string fName)
{
// Get files from directory
list<Folder> folders = this->getFolders();
list<File> files = this->getFiles();
for (list<Folder>::iterator itr = folders.begin(); itr != folders.end(); ++itr)
{
if (fName == (*itr).getFolderName())
{
cout << fName << ": Is a directory." << endl;
return;
}
}
for (list<File>::iterator itr = files.begin(); itr != files.end(); ++itr)
{
if (fName == (*itr).getFileName())
{
cout << "Found it" << endl;
itr = files.erase(itr);
this->setFiles(files);
return;
}
}
cout << "This file does not exist." << endl;
}
Редактировать: причина, почему я спрашиваю об этом, потому что я сделал valgrind и получил это в результате.Это утечка памяти?
HEAP SUMMARY:
==27219== in use at exit: 0 bytes in 0 blocks
==27219== total heap usage: 25 allocs, 25 frees, 82,671 bytes allocated
==27219==
==27219== All heap blocks were freed -- no leaks are possible
==27219==
==27219== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==27219== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)