C++编程:new和delete运算符详解

需积分: 11 8 下载量 120 浏览量 更新于2024-08-23 收藏 1.18MB PPT 举报
"C++程序设计课程讲解,包括new和delete运算符的使用" 在C++中,`new`和`delete`运算符是用于动态内存管理的关键工具,它们相对于C语言中的`malloc()`和`free()`提供了更加方便和强大的功能。`new`不仅分配内存,还能对对象进行初始化,而`delete`则用于释放不再需要的内存。 1. **new运算符** - 分配单个对象:`int *p = new int(90);` 这里`new`不仅分配了一个`int`类型的内存,还将其初始化为90。 - 分配数组:`int *p = new int[10];` 这将分配一个包含10个`int`元素的数组。 2. **delete运算符** - 释放单个对象:`delete p;` 用于释放由`new`分配的单个对象的内存。 - 释放数组:`delete []p;` 当需要释放由`new[]`分配的数组时,必须使用带方括号的`delete`,这告诉编译器正在释放的是一个数组,而不是单个对象。 3. **异常处理** - 如果`new`尝试分配内存但失败,它将返回一个空指针`NULL`。例如,在例2.16中,如果内存不足,`new`操作会失败并返回`NULL`,程序应该检查这个情况以避免未定义的行为。 4. **面向对象特性** - 面向对象编程(OOP)是C++的核心特性,包括数据抽象、封装、继承和多态性。这些概念使得代码更具模块化,易于维护和扩展。 - 数据抽象和封装是通过类来实现的,类定义了对象的状态(数据成员)和行为(成员函数)。 - 继承允许创建一个新的类(派生类),该类从一个或多个已存在的类(基类)中继承属性和行为。 - 多态性允许不同类的对象对同一消息作出不同的响应,增强了代码的灵活性。 5. **C++的其他特性** - `C++`引入了I/O流库,使得输入输出操作更为直观和强大。 - `const`修饰符用来创建常量,增加了代码的稳定性。 - 内置函数如`sizeof`、`new`、`delete`等是语言的一部分,可以直接在程序中使用。 - 函数原型和函数重载允许函数具有不同的签名,以处理不同类型的参数或数量。 - 引用提供了一种别名机制,类似于指针但更安全,因为引用一旦被初始化就不能改变。 6. **使用Visual C++ 6.0** - 进入开发环境、新建工程文件、编写源代码、编译、链接和运行C++程序的步骤在IDE中都是标准化的,这对于初学者来说是一个重要的实践环节。 7. **课程结构** - 面向对象程序设计概述介绍了OOP的基本概念。 - C++概述涵盖了C++的非面向对象特性,如流、`const`、内置函数等。 - 类和对象章节深入讲解了类的构造和析构、对象的使用、以及一些高级特性如静态成员和友元。 - 派生类与继承章节介绍了如何基于现有类创建新类,并利用继承来构建类的层次结构。 学习这部分内容将帮助开发者更好地理解和运用C++的动态内存管理,以及面向对象编程的核心原则。同时,熟悉开发环境的使用也是实际编程中必不可少的技能。