C++ 内存管理 — 专题笔记

共 21 题 | 来源:C++ 面包

← C++ 知识地图


自动存储持续性 →// 栈变量,作用域结束内存回收但不清空,悬空引用导致 UB

静态存储持续性 →// static 关键字, BSS 区

语言链接性 →// extern “C”

动态存储→//new/delete,定位 new (内存池常用)

名称空间 →//namespace

类和动态内存分配→//浅拷贝,运算符重载,初始化列表

题目速览

序号题目难度对应公司
6C++中堆的作用域有哪些?EasyCVTE
9delete[] 和 delete 的区别是什么?Easy大疆
13malloc 的底层实现机制是什么?EasyCVTE
14new 和 malloc 的区别是什么?EasyCVTE
31C 语言的内存管理是如何实现的?EasyCVTE
42C++ 中构造函数造成内存泄露的原因是什么?Middle安左创新
56C++ 的垃圾回收机制是怎样的?Middle蔚来
63int a 和 vector<int> b 作为参数时,a b 存储位置?Middle智元机器人
83全局变量和局部变量有什么区别?Middle石头科技 / insta360
84内存泄露是怎么造成的?在嵌入式中如何预防?Middle中兴通讯
89怎么避免野指针和悬空指针?Middle石头科技 / insta360
103使用指针时如何避免内存泄漏?Middle零跑汽车
112C++ 内存分布有哪些?Hard蔚来
119内存分布内容及堆栈区别?malloc/free 与 new/delete 区别?Hard艾派克微
122new/delete 和 malloc/free 的区别?Hard蔚来
131如何从结构体成员地址反向获取结构体首地址?Hard其它
135常见的内存泄漏场景有哪些?如何检测和避免?Hard艾派克微
139什么是内存碎片?如何解决?Hard其它
140什么是内存对齐?为什么要对齐?Hard其它
141什么是空指针和野指针?如何防范?Hard其它
152什么是零拷贝 (Zero-copy)?Hard其它