Qt QMap数据清除测试(验证QMap内存正确释放方法)

环境

Qt C++ (msvc编译环境)

测试代码

cpp 复制代码
//定义 动子信息 (可放在.cpp文件 中)
struct MoverInfo{
    uint32_t ID;
    double PartPosition;
    uint16_t ModuleID;
    uint32_t PartID;
    uint32_t TrackID;
    uint32_t TrackID2;
};


//使用Windows任务管理器查看内存使用情况

//定义QMap
QMap<int,MoverInfo*> map;//放在h头文件中使用

//将以下代码放在两个不同的button的槽函数下

//核心代码添加
for(int i=0; i<0x100000; i++){
    struct MoverInfo* info = (struct MoverInfo*)malloc(sizeof(struct MoverInfo));
    memset(info ,0, sizeof(struct MoverInfo));
    info->ID = i;
    map[i] = info;
}

//核心代码删除
for(QMap<int,MoverInfo*>::Iterator it = map.begin();it != map.end();it ++)
{
    delete (MoverInfo*)it.value();
}
map.clear();
相关推荐
lsx20240611 分钟前
Ruby CGI Cookie 使用指南
开发语言
musenh21 分钟前
javascript学习
开发语言·javascript·学习
沐知全栈开发41 分钟前
SVG 参考手册
开发语言
Summer_Uncle42 分钟前
【C++学习】对象特性--继承
开发语言·c++·学习
西贝爱学习1 小时前
【QT】安装包
开发语言·qt
徐凤年lll2 小时前
python 初学2
开发语言·python
2301_801252222 小时前
Mybatis的添加和修改功能
java·开发语言·mybatis
行思理2 小时前
IntelliJIdea 创建java spring boot程序
java·开发语言·spring boot
散峰而望2 小时前
C语言刷题(一)
c语言·开发语言·编辑器·github·visual studio
CN-Dust2 小时前
【C++】2025CSP-J第二轮真题及解析
开发语言·c++·算法