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();
相关推荐
雾岛听蓝1 小时前
进程信号机制深度解析
linux·开发语言·经验分享·笔记
踏着七彩祥云的小丑9 小时前
pytest——Mark标记
开发语言·python·pytest
Dream of maid9 小时前
Python12(网络编程)
开发语言·网络·php
W23035765739 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y40900110 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳10 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...10 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy123931021610 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
wjs202412 小时前
JavaScript 语句
开发语言