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[ ]才知道,导致析构函数内存无法释放

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

相关推荐
晨尘光16 分钟前
【Windows 下FlatBuffers 编译.fbs文件并应用】
c++·windows
网易独家音乐人Mike Zhou18 分钟前
【嵌入式模块芯片开发】LP87524电源PMIC芯片配置流程,给雷达供电的延时上电时序及API函数
c语言·stm32·单片机·51单片机·嵌入式·电源·毫米波雷达
LCG米19 分钟前
嵌入式Python工业环境监测实战:MicroPython读取多传感器数据
开发语言·人工智能·python
小立爱学习25 分钟前
ARM64 指令 --- CASP / CASPA / CASPL / CASPAL
linux·c语言
煤球王子42 分钟前
学而时习之:C++中的文件处理2
c++
武汉唯众智创1 小时前
职业院校C语言程序设计(AIGC版)课程教学解决方案
c语言·开发语言·aigc·程序设计·c语言程序设计·c语言程序设计实训室
fakerth1 小时前
【OpenHarmony】设计模式模块详解
c++·单例模式·设计模式·openharmony
qq_401700411 小时前
C语言void*
c语言·开发语言
sg_knight1 小时前
Python 面向对象基础复习
开发语言·python·ai编程·面向对象·模型
biter down1 小时前
C++ 解决海量数据 TopK 问题:小根堆高效解法
c++·算法