东南大学何洁月C++课件:动态数组与面向对象编程要点

需积分: 12 8 下载量 166 浏览量 更新于2024-08-19 收藏 3.83MB PPT 举报
在C++编程中,动态分配数组是一种常见的内存管理技术,特别是在处理大小未知或需要在运行时动态扩展的数据结构时。当使用`new`关键字进行动态数组分配时,需要注意以下几点: 1. **语法**: 动态分配多维数组的正确语法是 `new 类型名T[下标表达式1][下标表达式2]...;`。这里,`T` 是数组元素的类型,而下标表达式确定了每维数组的大小。如果分配成功,`new`运算会返回一个指向新分配内存首地址的`T`类型的指针。 2. **内存管理**: 动态分配的数组实际上是数组指针,而不是数组本身。因此,对数组元素的访问需要通过指针进行,例如 `(*fp)[3]` 表示一个指向`char`数组的指针,`fp = new char[2][3];` 就是为二维数组分配了2行3列的空间。 3. **内存大小计算**: 除了最左边的维度,其余维度的下标表达式的乘积就是数组的元素总数。例如,`fp`指向的数组有2行3列,总共有 `2 * 3 = 6` 个`char`元素。 4. **责任与释放**: 对于动态分配的内存,程序员必须确保在不再需要时使用`delete`操作符来释放内存,防止内存泄漏。例如,`delete [] fp;`用于释放之前分配的二维数组空间。 5. **面向对象编程**:何洁月教授的C++课程中,动态分配数组是面向对象编程的一部分,特别是讲解类和对象时,动态内存管理对于对象的实例化和内存管理至关重要。例如,类中的成员变量可以是动态数组,通过构造函数和析构函数来管理其生命周期。 6. **课程大纲**:课程涵盖了C++语言的基础知识,包括计算机程序设计概念、数据类型和表达式、输入输出、算法控制结构、函数、类与对象等主题,旨在让学生掌握C++语言的语法、面向对象编程思想,并提高编程和调试能力。 7. **课程目标**:课程目标明确,旨在使学生建立基本的计算机程序设计概念体系,理解C++语法和面向对象编程,以及提升编程实践技能,为后续学习打下坚实的基础。 通过学习动态数组,学生能够更好地理解和运用C++进行高效、灵活的内存管理,这对于软件开发尤其重要。