7-Qt6 qDeleteAll内存管理
qDeleteAll专门用于指针容器,只能用于释放容器元素内存,也就是对容器中每个对象执行delete,但并没有置空或者说移除也就是size没变,所以必须clear。比如QList、QMap等。
test类继续延用6中的test类。
#include <QCoreApplication>
#include "test.h"
typedef QList<Test*> testList;testList getList()
{testList list;for(int i = 0; i < 5; i++){list.append(new Test());list.last()->setObjectName("Test " + QString::number(i));}return list;
}void display(testList list)
{foreach(Test* item, list){qInfo() << item;}
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);testList list = getList();display(list);qInfo() << "Deleting...";qDeleteAll(list); //qDeleteAll(list.begin(),list.end());qInfo() << "list.size="<<list.size();list.clear();qInfo() << "list.size="<<list.size();display(list);return a.exec();
}
根据打印可以看出,在执行qDeleteAll后,析构函数开始执行,但是执行完之后,size仍然是5,必须clear之后,size变为0.
7-Qt6 qDeleteAll内存管理相关推荐
- jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理
准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...
- 垃圾回收 内存管理 python
20220225 https://mp.weixin.qq.com/s/94SmSNEkwmz-Eu-hBUo0Lg Python的内存管理机制 在windows 中直接在任务管理其中关掉python ...
- BEP 7:CUDA外部内存管理插件(下)
BEP 7:CUDA外部内存管理插件(下) Numba依赖 向库中添加EMM插件的实现自然会使Numba成为库的依赖项,而以前可能没有.为了使依赖关系可选,如果需要的话,可以有条件地实例化并注册EMM ...
- BEP 7:CUDA外部内存管理插件(上)
BEP 7:CUDA外部内存管理插件(上) 背景和目标 在CUDA阵列接口使得能够共享不同的Python之间的数据库的访问CUDA设备.但是,每个库都与其它库区别对待.例如: • Numba在内部管理 ...
- Objective C内存管理之理解autorelease------面试题
Objective C内存管理之理解autorelease Autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Aut ...
- 操作系统--内存管理方式
"碎片的内存"描述一个系统中所有不可用的空闲内存.这些资源之所以仍然未被使用,是因为负责分配内存的分配器使这些内存无法使用.这一问题通常都会发生,原因在于空闲内存以小而不连续方式出 ...
- python基于值得内存_为什么说Python采用的是基于值的内存管理模式
匿名用户 1级 2018-01-31 回答 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 一.垃圾回收: python不像C++, ...
- linux内核 -内存管理模块概图
1.从进程(task)的角度来看内存管理 每个进程对应一个task_struct; 每个task_struct 里面包含指向mm_struct 的指针mm, mm_struct 里面的主要成员: a. ...
- linux内存管理 之 内存节点和内存分区(Zone)
https://www.cnblogs.com/youngerchina/p/5624516.html Linux支持多种硬件体系结构,因此Linux必须采用通用的方法来描述内存,以方便对内存进行管理 ...
最新文章
- centos 查找nginx_centos7 nginx安装/启动/进程状态/杀掉进程
- 【转】解决svn Authorization failed错误
- html5控制符置于底层,HTML5占位符在焦点上消失
- python模拟上传多张图片
- 测试服务器IO和网速的脚本
- PRML-系列一之1.6
- Visual Studio Code——待补充
- WIN2008下找不到proxy的处理方法
- android intent 跳转activity,Activity 跳转 都知道用startActivity(Intent)
- [Ext JS] Grid 的复选框行选择之——某些行不能选取
- css中的 font 与 font-size
- nginx负载均衡算法
- 【期刊会议系列】IEEE系列模板下载指南
- 软件质量属性:可用性
- win10蓝牙怎么开_摩托罗拉对讲机蓝牙写频方法
- win10系统迁移后系统重装_win10系统迁移超简单!详细步骤解析
- 专访CAPA梁振宇:信息无障碍是互联网产品的必选项
- 某金融企业核心存储POC测试及选型经验
- 『Java CVE』CVE-2022-33980: Apache Commons Configuration 读文件RCE
- ASP.NET与HTML的关系理解
热门文章
- 启用轻资产、重运营、降杠杆,红星美凯龙能否瘦成“家得宝”?
- 服务器手工修改虚拟内存,服务器修改虚拟内存
- Mysql sequence使用_MySQL 序列使用_mysql sequence_mysql auto increment
- 北卡教堂山计算机科学专业,UNC的CS「北卡罗来纳大学教堂山分校计算机科学系」...
- java点到曲线的距离公式,使用Haversine的距离公式获取经度和纬度的距离
- java的默认_java默认包的使用
- 陕西师范大学计算机科学学院公寓楼,陕西师范大学计算机科学学院简介
- Python必备知识点:对Json的基本使用方法
- 30秒内便能学会的30个超实用Python代码片段
- resoult在python啥意思,python - __lt__而不是__cmp__