C/C++内存管理

C/C++内存分布

C语言中动态内存管理方式:malloc/calloc/realloc/free

C++内存管理方式

operator new与operator delete函数(重要点进行讲解)

new和delete的实现原理

内置类型

定位new表达式(placement-new) (了解)

常见面试题

**如何避免内存泄漏

  1. 工程前期良好的设计规范,养成良好的编码规范,申请的内存空间记着匹配的去释放。ps:
    这个理想状态。但是如果碰上异常时,就算注意释放了,还是可能会出问题。需要下一条智
    能指针来管理才有保证。
  2. 采用RAII思想或者智能指针来管理资源。
  3. 有些公司内部规范使用内部实现的私有内存管理库。这套库自带内存泄漏检测的功能选项。
  4. 出问题了使用内存泄漏工具检测。ps:不过很多工具都不够靠谱,或者收费昂贵。
    总结一下:
    内存泄漏非常常见,解决方案分为两种:1、事前预防型。如智能指针等。2、事后查错型。如泄
    漏检测工具。**

本文相关注解:

这样释放会报错,释放位置错了

这样不知道调用多少次析构函数,delete 才知道,导致析构函数内存无法释放

如果没有析构函数则运行正常

相关推荐
哭哭啼25 分钟前
JAVA服务问题诊断
java·开发语言·jvm
旖旎夜光2 小时前
LeetCode 852:山脉数组的峰顶索引(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
程与留2 小时前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt
CRMEB定制开发2 小时前
2026年最值得推荐的10大开源商城系统盘点
开发语言·人工智能·开源·商城系统·小程序商城
不灭的黄金瞳1232 小时前
预处理详解
c语言
buhuizhiyuci3 小时前
【QT-百日筑基篇】修真世界摸爬滚打多年,终于黄天不负有心人,突破炼器中期——常用控件QWight的属性
开发语言·c++·qt·gui·图形化
小雪崩3 小时前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
yiqiefeimeng4 小时前
C语言指针难倒90%人?买房比喻让你瞬间开窍
c语言·学习·编程·指针·比喻
Littlehero_1214 小时前
QT自定义控件之热换站系统(源码开源)
开发语言·qt
meilindehuzi_a4 小时前
Python 基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python