释放内存总结

2023-10-29

1. 用new/malloc显式分配在堆上的内存才需要用delete/free释放,而在栈上分配的如int   array[80]在子程序结束时自动释放,分配与释放都和数据类型无关。

2. delete一个指针的时候 一定要检查是否为null,否则是个严重的应用程序错误.
3.释放一个数组要用delete []

4.类对象使用结束后将其delete,不delete的话,当程序退出的时候,内存都会被系统释放,不会有内存泄漏的问题. 
内存泄漏说的是 长时间运行的程序(几年几月),如果不管理好你的内存,到时候会无内存可用.???

 

附:摘抄一个析构函数注释

CMyPoint::~CMyPoint() { //析构函数
//delete一个指针的时候 一定要检查是否为null,否则是个严重的应用程序错误.
//由于m_pName是用new 产生的空间  所以需要 delete来释放掉, new的东西都不会自己消除,需要我们在适合的使用调用delete
if(m_pName!=NULL) {
delete []m_pName;    //因为它是一个数组所以需要用delete []
m_pName=NULL;       //将它设置为null 防止再次使用这个指针去访问原来的地址,原来的地址已经被我们delete了.但编译器不会帮我们自动清它为null 所以我们自己清.
}
}

 

Resource                 Allocation   Routine                 Cleanup   Routine             Cleanup   Required?  
  ================================================================================  
   
  Accelerators           LoadAccelerators                     N/A                                     No  
   
  Atoms                 GlobalAddAtom                           GlobalFreeAtom               Yes  
   
  Bitmaps                    CreateBitmap                             DeleteObject                   Yes   *  
                                CreateBitmapIndirect             DeleteObject                   Yes   *  
                                CreateCompatibleBitmap         DeleteObject                   Yes   *  
                                CreateDIBitmap                         DeleteObject               

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

释放内存总结 的相关文章

  • 如何通过 JOIN 组合(合并)相似的列以删除 NULL

    问题简介 我有一个名为 客户 的超类表和两个从客户继承的名为 个人 和 公司 的子表 因此 客户实体与 人 或 公司 具有一对一的关系 客户只能是 个人 或 公司 但不能同时是两者 如下所示 Customer Person Company
  • 为什么 Java Swing html 字体渲染看起来这么糟糕?

    为了显示具有多种样式的复杂多行标签 我使用了 Swing 的 html 渲染功能 但最终得到了非常糟糕的字体渲染 我尝试明确设置字体系列 infoLabel setText span style font family Tahoma My
  • Shell Linux:grep 带有 NULL 字符的精确句子

    我有一个像这样的文件 key 0value n akey 0value n key2 0value n 我必须创建一个以单词作为参数的脚本 我必须返回具有与参数完全相同的键的每一行 I tried grep aF key x0 但 grep
  • Android更改ListView字体

    似乎是一个简单的问题 但由于我是 Android 开发新手 所以我对 Android ListViews 知之甚少 以下是我在项目中用于 ListView 的代码 Listview code starts mainListView List
  • 为什么 Map.of 不允许空键和空值?

    在 Java 9 中 引入了新的工厂方法List Set and Map接口 这些方法允许使用一行中的值快速实例化 Map 对象 现在 如果我们考虑 Map
  • 函数不会在所有代码路径上返回值。使用结果时,运行时可能会发生空引用异常

    我收到此错误 函数 getkey 不会在所有代码路径上返回值 当结果为空引用异常时 可能会在运行时发生 用过的 到以下代码 Public Function getkey ByVal id As String Dim cmd As SqlCo
  • font-face 声明中还需要 eot、ttf 和 svg 吗?

    到目前为止 我一直使用 Paul Irish 的防弹字体语法 http www paulirish com 2009 bulletproof font face implementation syntax 但我只是在寻找对 woff 和 w
  • 更改 Visual Studio 2013 IDE 中选项卡的字体颜色

    我找不到如何更改 Visual Studio 2013 IDE 中选项卡的字体颜色 环境 gt 字体和颜色没有任何允许这样做的内容 我看不出有什么其他的帮助 我的问题是 所选页面在相对较暗的背景上有粗体黑色字体 我必须睁大眼睛才能看到选择了
  • 使用 parse.com 并遇到分配内存问题

    我是编程新手 过去 3 个月我一直在制作应用程序 并学到了一些东西 但我还没有遇到如何解决这个问题 我一直使用 Parse com 作为我的服务器 发送图片 保存用户数据等 有了所有这些数据 如果我多次打开某些活动 特别是带有图片的活动 应
  • 当Where子句中的术语不在数据库中时,如何从MySQL数据库返回0?

    如果 WHERE 子句中的邻域不存在 如何让 mysql 数据库返回 0 因此 在下面的示例中 旧城区不在数据库中 我希望数据库返回 0 个事件而不是空结果 SELECT incidents neighborhoods FROM myTab
  • 如何在 jQuery 中检查 null 对象

    我正在使用 jQuery 我想检查页面中是否存在某个元素 我写了以下代码 但它不起作用 if btext i null alert btext i text btext i text Branch i 如何检查元素是否存在 检查jQuery
  • PHP 构造函数返回 NULL

    我有这个代码 是否有可能User对象构造函数以某种方式失败 以便 this gt LoggedUser被分配了一个NULL构造函数返回后值和对象被释放吗 this gt LoggedUser NULL if SESSION verbiste
  • 如何调试@font-face问题?

    我有以下 CSS 代码 theMixPlainSemiBold font face font family theMixPlainSemiBold src url css fonts eot src url css fonts eot ie
  • 为什么 VB.NET 和 C# 中针对值检查 null 存在差异?

    In VB NET http en wikipedia org wiki Visual Basic NET有时候是这样的 Dim x As System Nullable Of Decimal Nothing Dim y As System
  • 如何更改 Quarto pptx 中的字体格式

    我正在 R 中使用 Quarto 创建 pptx 要更改我尝试更改的默认字体格式mainfont范围 但是当我渲染它时 最终的 pptx 文件具有默认字体 Calibri 这是我的文件 YAML 将 Quarto 文件渲染为 pptx 时如
  • 检查多个变量java中的替换空值

    我试图找到一种简单的方法来在 Java 中的多个变量中执行多个 null 检查 替换 我有一个包含大约 20 个字符串变量的对象 在构造函数中 我想检查是否有任何变量值为空 如果它们为空 我想用空字符串替换它们 我可以执行一系列 if 语句
  • 从字符串名称返回 FontStyle

    我想编写一个函数 它将返回 FontStyle 并以字符串作为参数 FontStyle f function Italic FontStyles Italic 我不想编写 Switch case 或 if else 语句来执行相同的操作 对
  • css 字体 twitter 像关闭按钮一样,我错过了什么?

    twitter 有一个关闭按钮 它是单个字符 x 我需要类似的东西 但是在我检查之后 span x span 我按照 firebug 告诉我的那样创建 css 规则 close button font family Tahoma Arial
  • 无法在 JavaScript for 循环中读取 null 的属性“长度”

    我正在尝试制作一个像 Stack Overflow 那样的 Markdown 编辑器 如果我实际上没有在文本区域中键入星号和包含短语的 http 我会收到标题中列出的此错误 如果我只输入包含星号的短语 则错误指的是这一行 if linkif
  • 如何向 Rails 应用程序添加自定义字体?

    我想在 RoR 应用程序中使用几种字体 但它们的格式主要是 ttf 和 otf 等 我该如何将这些文件嵌入到我的 Rails 应用程序中 也就是说 一旦我将它们放入我的资产文件夹中 将它们嵌入我的 CSS 和 或 LESS 文件中的语法到底

随机推荐

  • linux 安装mysql8.0.x

    MySQL MySQL简介 MySQL原本是一个开放源代码的关系数据库管理系统 原开发者为瑞典的MySQL AB公司 该公司于2008年被昇阳微系统 Sun Microsystems 收购 2009年 甲骨文公司 Oracle 收购昇阳微系
  • 电商订单状态【2】

    1 等待到款 如果您选择 网上支付 和 银行转账 这两种付款方式 当当在暂未收到您款项时 订单会显示 等待到款 建议您在订单保留期限内及时付款 2 等待预售商品到货 若您订购的商品为预售商品 商品到货前订单会显示 等待预售商品到货 3 正在
  • JVM系列(七) JVM 垃圾收集器

    我们知道JVM会回收垃圾 但是每种垃圾收集器的收集机制和收集的方法都不一样 今天我们讨论下几种垃圾回收机制 1 按照垃圾区域划分垃圾收集器 我们可以按照垃圾存在的区域来划分垃圾收集器 垃圾在堆内的区域分为 新生代垃圾 老年代垃圾 新生代老年
  • MySQL版本对应的驱动配置

    mysql驱动为8以上的版本 这时候需要在配置文件中设置为 spring datasource mysql数据库连接 type com zaxxer hikari HikariDataSource driver class name com
  • 最小生成树算法之Prim(普里姆)算法

    最小生成树的可以通过Kruskal 克鲁斯卡尔 算法或Prim 普里姆 算法求出 Prim算法基本介绍 Prim算法又称为 加点法 每次找出距离 此处的距离指的是距离最小生成树的距离 若此处无法理解 可直接跳过 看完下面例子就能理解 最小的
  • IDEA推送本地代码到新远程git地址

    步骤一 先用git创建一个远程项目路径 步骤二 利用IDEA 推送代码到本地仓库 然后在推送到远程git 1 创建本地git仓库 VCS gt Import into Version Control gt Create Git Reposi
  • Linux shell中2>&1的含义

    转载来源 Linux shell中2 gt 1的含义 作者 一个行走的民 https blog csdn net zhaominpro article details 82630528 1 和 2 在 Linux 中代表什么 在Linux系
  • LeetCode刷题-11

    数组 136 只出现一次的数字 题目描述 题目样例 Java方法 位运算 算法思路 代码 复杂度 题目描述 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 题目样例 示例1 输入 2 2
  • CSS3 选择器 :nth-child 与 :nth-of-type 区别

    一 nth child 1 1 说明 nth child n 选择器匹配属于其父元素的第 N 个子元素 不论元素的类型 n 可以是数字 关键词或公式 注意 如果第 N 个子元素与选择的元素类型不同则样式无效 1 2 示例 div p 我是第
  • Linux 小游戏

    文章目录 1 banner 输出图形字符 2 xeyes 3 数字雨 4 aafire火焰效果 5 Space Invaders 太空侵略者 6 彩色火焰效果 1 banner 输出图形字符 先看效果 安装 sudo apt get upd
  • LA@向量组间的表示关系导出的向量组线性相关性@进阶@延伸组

    文章目录 延伸组 向量分量增减和相关性 短无关则长无关 长相关则短相关 从方程组解角度理解 推论 被表出向量组的线性相关性 用系数矩阵向量组的线性相关性讨论被表出向量组的相关性 归纳 被表出向量组线性相关性判定定理 被表示向量组和表出向量组
  • Numpy中的数组维度

    原文转载自我的博客benym cn 在对 np arange 24 0 1 2 3 23 进行重新的排列时 在多维数组的多个轴的方向上 先分配最后一个轴 对于二维数组 即先分配行的方向 对于三维数组即先分配平面的方向 代码 import n
  • Kubernetes 集群部署 ------ 二进制集群 (单 Master集群部署 + 多 Master群集部署)2

    基于上篇博客的部署的环境上 这篇博客开始部署 k8s集群中的 单 Master 群集 单 Master 集群架构图 以下是自签 SSL 证书列表 首先 我们要了解在 Master 上 要部署以下三大核心组件 kube apiserver 是
  • Vue 之 解决v-html生成的元素不能触发@click等vue事件和CSS样式不生效的方法

    一 简介 官方文档 通过上面官方文档的介绍我们可以得知两个重点 通过v html生成的页面元素 不会被当做Vue模板进行编译 只会作为普通的html代码被插入 也就是说通过v html插入的html代码中 如果包含vue的语法 例如 cli
  • 插入排序史上最经典的实现方式

    插入排序的原理 插入排序的代码实现 循环法 let arrayData 44 3 38 5 47 15 36 26 27 2 46 4 19 50 48 let insertSort arr gt 对于第0个元素 只有一个元素 所以没有比的
  • Gitlab服务器备份与还原

    文章目录 操作环境及相关指令 操作环境 相关指令 防火墙相关指令 端口号相关指令 Gitlab相关指令 文件传输 备份与还原 备份 Gitlab相关配置信息 还原 访问 操作环境及相关指令 操作环境 操作系统 root master cat
  • QT信号槽的在不同线程或者在同一线程下的连接方式

    最近使用一个QTreeWidget加载数据库数据然后以tree的方式展现出来 于是在读取数据库的时候新建一个线程的来读取数据库 读取数据完毕之后 再树形控件上显示出来 新建线程的目的是为了防止读取大数据的时候出现界面阻塞的情况 提供用户体验
  • Ghost-Docker(一)部署安装

    在做项目没什么进展了的时候 又想出一点成果 就只能把焦点转移了 在GitHub云云项目中 看到了博客 刚刚又备案完域名 就想自己搭建一个博客 又在云云博客中 挑选了Ghost 主要是在Docker Hub中看到的 使用Docker搭建简单而
  • 在IPhone12的推理延迟仅为1.6 ms!Snap等详析Transformer结构延迟,并用NAS搜出移动设备的高效网络结构...

    关注公众号 发现CV技术之美 本文分享论文 EfficientFormer Vision Transformers at MobileNet Speed 在IPhone12的推理延迟仅为1 6 ms Snap 美国 东北大学详细分析了Tra
  • 释放内存总结

    1 用new malloc显式分配在堆上的内存才需要用delete free释放 而在栈上分配的如int array 80 在子程序结束时自动释放 分配与释放都和数据类型无关 2 delete一个指针的时候 一定要检查是否为null 否则是