C++PrimerPlus 第 12 章 类和动态内存分配知识点概要

第 12 章 类和动态内存分配

本章内容包括:
对类成员使用动态内存分配。
隐式和显式复制构造函数。
隐式和显式重载赋值运算符。
在构造函数中使用 new所必须完成的工作。
使用静态类成员。
将定位 new 运算符用于对象。
使用指向对象的指针。
实现队列抽象数据类型(ADT)。

本章将介绍如何对类使用new和delete以及如何处理由于使用动态内存而引起的一些微妙的问题。这里涉及的主题好像不多,但它们将影响构造函数和析构函数的设计以及运算符的重载。

来看一个具体的例子--C+如何增加内存负载。假设要创建一个类,其一个成员表示某人的姓。最简单的方法是使用字符数组成员来保存姓,但这种方法有一些缺陷。开始也许会使用一个14个字符的数组,然后发现数组太小,更保险的方法是,使用一个40个字符的数组。然而,如果创建包含 2000个这种对象的数组,就会由于字符数组只有部分被使用而浪费大量的内存(在这种情况下,增加了计算机的内存负载)。但可以采取另一种方法通常,最好是在程序运行时(而不是编译时)确定诸如使用多少内存等问题。对于在对象中保存姓名来说,

	通常的 C++方法是,在类构造函数中使用new运算符在程序运行时分配所需的内存。为此,通常的方法是使用 string 类,它将为您处理内存管理细节。但这样您就没有机会更深入地学习内存管理了,因此这里将直接对问题发起攻击。除非同时执行一系列额外步骤,如扩展类析构函数、使所有的构造函数与 new析构函数协调一致、编写额外的类方法来帮助正确完成初始化和赋值(当然,本章将介绍这些步骤),否则,在类构造函数中使用 new将导致新问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值