c++学习记录五:析构函数、this关键字和string类
(本文来自c++简明教程)
随着你操纵类的技能越来越熟练,迟早会面临资源管理的问题。
更具体地说,当你设计出特定类型的对象时,程序代码必须要求系统分配一些资源。其中,最常用的资源类型就是内存。正如本章要说明的那样,资源管理会造成一些特殊的问题。不过,辛运的是,c++提供了专门的特性来解决这些问题。
本章展示了如何写一个高级的String类,它简单而又全面地演示了资源管理问题。
说到这个类的目的,它和大多数类一样,都是隐藏细节。操纵字符串时,必须和内存打交道,而String类的宗旨就是让类的用户不必关系内存的分配和回收问题。简单地说,String类封装了char数组,并对它们进行处理,使字符串在类的用户面前表现为一种简单的数据类型,而不是一个复杂的结构。
注意:本章描述的String类是c++中的string类的一个简单版本。假如你的编译器提供了用于支持string类的库,就不必使用本章定义的这个类。不过,通过学习自己编写这样的一个类,有助于你掌握c++面向对象编程时的一些重要概念。尤其是,本章使用String类来展示this关键字、析构函数以及“深拷贝”的概念。