内存管理贯穿C与C++程序的整个生命周期。变量存放在哪里、对象何时开始存在、动态内存由谁释放、构造失败时怎样回收空间,这些问题直接影响程序的正确性、性能与稳定性。
本文从进程虚拟地址空间讲起,系统比较malloc/calloc/realloc/free与new/delete,分析operator new/operator delete、对象数组、定位new、 ...
C++ 允许程序员直接管理内存,这带来了精确控制能力,也带来了内存泄漏、重复释放、悬空指针和异常安全等问题。智能指针的核心价值,不是把裸指针换一个名字,而是用对象生命周期表达资源所有权,并通过 RAII 自动完成释放。
本文从内存泄漏与 RAII 出发,系统讲解 std::unique_ptr、std::shared_ptr、std::weak_ptr 的使 ...
C++ 异常是一套用于报告和处理运行期错误的机制。它把“发现错误”与“处理错误”分离:底层函数负责发现问题并抛出异常,上层调用者根据异常类型决定如何恢复、记录或终止操作。
异常本身并不复杂,真正需要掌握的是异常传播、栈展开、资源释放、异常安全保证以及工程中的使用边界。本文从传统错误处理方式讲起,系统梳理 throw、try、catch、重新抛出、自定义异常、 ...
