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

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

相关推荐
yanghuashuiyue7 分钟前
Java过滤器-拦截器-AOP-Controller
java·开发语言
hetao173383711 分钟前
2025-12-11 hetao1733837的刷题笔记
c++·笔记·算法
小冷coding11 分钟前
【Java】高并发架构设计:1000 QPS服务器配置与压测实战
java·服务器·开发语言
破刺不会编程34 分钟前
socket编程TCP
linux·运维·服务器·开发语言·网络·网络协议·tcp/ip
北极糊的狐36 分钟前
IDEA中安装 CamelCase 插件实现变量快速生成驼峰命名
开发语言·php
【蜡笔小新】43 分钟前
《筑基篇》C语言基础2
c语言·开发语言
学习路上_write1 小时前
AD5293驱动学习
c语言·单片机·嵌入式硬件·学习
洛阳泰山1 小时前
Java实现周易六爻自动排盘:根据起卦的公历时间换算农和干支时间,推算日柱空亡(旬空)
java·开发语言·周易·六爻·算卦
saltymilk1 小时前
C++ 语言特性的变更可能让你的防御成为马奇诺防线
c++
Smile丶凉轩1 小时前
C++ 高性能内存池面试题总结
开发语言·c++