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();
相关推荐
odoo中国3 小时前
Odoo 19 模块结构概述
开发语言·python·module·odoo·核心组件·py文件按
代码N年归来仍是新手村成员4 小时前
【Java转Go】即时通信系统代码分析(一)基础Server 构建
java·开发语言·golang
Z1Jxxx4 小时前
01序列01序列
开发语言·c++·算法
沐知全栈开发5 小时前
C语言中的强制类型转换
开发语言
关于不上作者榜就原神启动那件事5 小时前
Java中大量数据Excel导入导出的实现方案
java·开发语言·excel
坚定学代码5 小时前
基于观察者模式的ISO C++信号槽实现
开发语言·c++·观察者模式·ai
Wang's Blog5 小时前
Nodejs-HardCore: Buffer操作、Base64编码与zlib压缩实战
开发语言·nodejs
csbysj20205 小时前
C# 集合(Collection)
开发语言
csbysj20206 小时前
Lua 面向对象编程
开发语言