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

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

相关推荐
Ronin30512 小时前
虚拟机数据管理模块
开发语言·c++·rabbitmq
3GPP仿真实验室12 小时前
【Matlab源码】6G候选波形:MIMO-OFDM-IM 增强仿真平台
开发语言·网络·matlab
wengqidaifeng12 小时前
数据结构---链表的奇特(下)双向链表的多样魅力
c语言·数据结构·链表
晓131312 小时前
第五章 【若依框架:优化】高级特性与性能优化
java·开发语言·性能优化·若依
一叶之秋141212 小时前
基石之力:掌握 C++ 继承的核心奥秘
开发语言·c++·算法
见牛羊12 小时前
CMakeLists 写法总结3.0
开发语言·c++
柒儿吖12 小时前
rudp Reliable UDP 库在 OpenHarmony 的 lycium 适配与 CRC32 测试
c++·c#·openharmony
大模型玩家七七12 小时前
效果评估:如何判断一个祝福 AI 是否“走心”
android·java·开发语言·网络·人工智能·batch
拾光Ծ12 小时前
【优选算法】滑动窗口算法:专题一
c++·算法·滑动窗口·c++算法·滑动窗口算法·笔试面试
闻缺陷则喜何志丹12 小时前
【动态规划 AC自动机】P9188 [USACO23OPEN] Pareidolia S|普及+
c++·算法·动态规划·洛谷·ac自动机