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();
相关推荐
望获linux10 分钟前
【Linux基础知识系列】第六十四篇 - 了解Linux的硬件架构
linux·运维·服务器·开发语言·数据库·操作系统·嵌入式软件
1candobetter1 小时前
JAVA后端开发——用 Spring Boot 实现定时任务
java·开发语言·spring boot
小徐不徐说2 小时前
深入理解 Qt 信号与槽机制的底层逻辑
数据库·c++·qt·面试
大梦谁先行2 小时前
Qt写游戏脚本/辅助(仅供参考)
c++·qt·游戏
一只小小汤圆2 小时前
qt 心跳包
服务器·数据库·qt
啊阿狸不会拉杆2 小时前
《Java 程序设计》第 8 章 - Java 常用核心类详解
java·开发语言·python·算法·intellij-idea
小白学大数据2 小时前
Python + Requests库爬取动态Ajax分页数据
开发语言·python·ajax·okhttp
2501_920047032 小时前
python-内存管理
开发语言·jvm·python
芜青2 小时前
JavaScript手录09-内置对象【String对象】
开发语言·javascript·ecmascript
钮钴禄·爱因斯晨3 小时前
Java 集合进阶:从 Collection 接口到迭代器的实战指南
java·开发语言