首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
C++
沐怡旸
创建于2025-09-02
订阅专栏
讲解C++相关的知识点、趣事、历史等
等 2 人订阅
共26篇文章
创建于2025-09-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【底层机制】Valgrind Memcheck 工作原理通俗解析
Memcheck 通过 全面插桩 来接管程序的所有内存操作,利用 影子内存 这本“总账”来跟踪每一字节内存的生命周期(分配/释放),利用 V-bits 这本“明细账”来跟踪每一个比特数据的合法性
【底层机制】C++ vector对象到底是在堆上还是栈上?
不要把容器对象和容器所管理的数据混为一谈。std::vector是一个聪明的管理者,它自身可以放在任何地方,但它总是为自己的员工(元素数据)在堆上(或通过分配器指定的地方)准备好办公室
【底层机制】为什么 delete 或 free 不需要指定释放的大小?
delete 和 free() 不需要我们指定大小,是因为内存分配器在分配内存时,已经暗中记录下了这块内存的大小等元信息(通常记录在分配的内存块之前或之后)
【底层机制】【C++】vector 为什么等到满了才扩容而不是提前扩容?
std::vector不提前扩容的根本原因是:为了恪守C++“零开销”的设计哲学,在默认情况下避免任何不必要的性能损耗和内存浪费,同时将优化控制的权力通过reserve()等接口完全交付给程序员
【底层机制】malloc 在实现时为什么要对大小内存采取不同策略?
malloc 在底层区分小内存和大内存分配,主要是为了在性能、内存利用率和碎片控制这几个关键目标上取得最佳平衡
【C++基础知识】深入剖析C和C++在内存分配上的区别
C和C++的风格差异:根本区别在于C++将内存分配与对象生命周期管理(构造/析构)紧密绑定,这是其面向对象特性的基石。 C++的演进:从C到C++,是从malloc/free 到 new/delete