MatrixCQY
首页
数学笔记
代码笔记
金融笔记
GitHub
首页
数学笔记
代码笔记
金融笔记
GitHub
  • 代码笔记

    • 代码笔记
    • C++ 教程

      • C++ 基础教程
      • C++ 面向对象编程 (OOP)
      • C++ 标准模板库 (STL)
      • C++ 内存管理
      • C++ 文件操作
      • C++ Lambda 表达式
      • C++ 高级特性
    • 数据结构与算法

      • 数据结构与算法简介
      • 线性表 (Linear List)
      • 栈与队列 (Stack & Queue)
      • 哈希 (Hashing)
      • 树与图 (Tree & Graph)
      • 排序算法 (Sorting Algorithms)
      • 查找算法 (Searching Algorithms)
      • 动态规划 (Dynamic Programming)
      • 贪心算法 (Greedy Algorithms)
    • SQL 教程

      • SQL 基础教程
      • SQL 查询 (Queries)
      • SQL 连接 (Joins)
      • SQL 约束 (Constraints)
      • SQL 规范化 (Normalization)
      • 视图与存储过程
      • SQL 高级教程
    • R 语言教程

      • R 语言简介
      • R 数据结构
      • R 流程控制与函数
      • R 数据导入与导出
      • R 统计分析基础
      • R 绘图 (Plotting)
    • Pandas 教程

      • Pandas 简介
      • Series 与 DataFrame
      • Pandas 数据分析
      • Pandas 时间序列分析
      • Pandas 数据透视与可视化

C++ 内存管理

1. 动态内存分配

使用 new 和 delete 操作符在堆 (Heap) 上分配和释放内存。

int* p = new int;
*p = 10;
delete p;

int* arr = new int[10];
delete[] arr;

2. RAII (Resource Acquisition Is Initialization)

资源获取即初始化。利用对象生命周期管理资源(如内存、文件句柄、互斥锁)。

  • 智能指针 (std::unique_ptr, std::shared_ptr) 是 RAII 的典型应用。

3. 常见内存问题

  • 内存泄漏 (Memory Leak): 分配后未释放。
  • 悬空指针 (Dangling Pointer): 指向已释放的内存。
  • 野指针 (Wild Pointer): 未初始化的指针。

推荐资源

  • C++ Core Guidelines
最近更新: 2026/2/15 04:15
Contributors: MatrixCQY
Prev
C++ 标准模板库 (STL)
Next
C++ 文件操作