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

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

相关推荐
Tony Bai12 分钟前
Go 考古:Go 官方如何决定支持你的 CPU 和 OS?
开发语言·后端·golang
知无不研24 分钟前
.练习- Java字符串之String类创建字符串之使用equals和==判断字符串是否相等
java·开发语言
hz_zhangrl29 分钟前
CCF-GESP 等级考试 2025年12月认证C++二级真题解析
c++·算法·gesp·gesp2025年12月·c++二级
Slow菜鸟30 分钟前
Java基础 | JWT登录场景化最优方案(一)
java·开发语言
一起搞IT吧36 分钟前
相机拍照无响应问题分析一:【MEMORY_NOT_ENOUGH导致】持续快拍,一会儿无法拍照了
android·c++·数码相机·智能手机
weixin_4573402137 分钟前
lora监督微调(SFT)
开发语言·python
量子炒饭大师1 小时前
Cyber骇客的层级霸权——【优化算法】之【排序算法】堆排序
c语言·c++·算法·排序算法
_200_1 小时前
Lua 运算符
开发语言·junit·lua
UP_Continue1 小时前
C++11--引言折叠与完美转发
开发语言·c++
码农三叔1 小时前
(4-2-05)Python SDK仓库:MCP服务器端(5)Streamable HTTP传输+Streamable HTTP传输
开发语言·python·http·大模型·1024程序员节·mcp·mcp sdk