gpt4 book ai didi

c++ - 使用 QVector 的内存泄漏

转载 作者:太空宇宙 更新时间:2023-11-04 16:30:35 24 4
gpt4 key购买 nike

QVector<cLibraryRecord> Library;
...
Library.push_back(cLibraryRecord(ReaderFullName, BookGenre, BookTitle, AuthorsFullName, IssueDate, ReturnDate));
...
Library.remove(i);

QVector::remove() 不会清除内存。我怎样才能清理内存?提前致谢。

最佳答案

QVector.remove() 总是为包含的对象调用析构函数,但保留大小(由 QVector::capacity() 返回)不会自动缩小当您删除元素时。

您可以使用QVector::squeeze() 释放未使用的保留内存。

但是您的类 cLibraryRecord 中也可能存在内存泄漏。

有关详细信息,请参阅 Qt 文档:Qt containers growth strategies .

关于c++ - 使用 QVector 的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7546672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com