QVector<cLibraryRecord> Library;
...
Library.push_back(cLibraryRecord(ReaderFullName, BookGenre, BookTitle, AuthorsFullName, IssueDate, ReturnDate));
...
Library.remove(i);
QVector :: remove()不会清除内存。我该如何清理内存? 提前谢谢。
答案 0 :(得分:4)
QVector.remove()
总是调用包含对象的析构函数,但保留的大小(由QVector::capacity()
返回)在删除元素时不会自动收缩。
您可以使用QVector::squeeze()
释放未使用的保留内存。
但是你的班级cLibraryRecord
也可能有内存泄漏。
有关详细信息,请参阅Qt文档:Qt containers growth strategies。