12. 对象的动态建立与释放
在C语言中是利用库函数malloc和free来分配和撤销内存空间的。C++提供了简便而功能较强的运算符new和delete来取代malloc和free函数。
注意: new和delete是运算符,不是函数,因此执行效率高。
用new分配数组空间时不能指定初值。如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL(0值),用户可以根据该指针的值判断分配空间是否成功。
Box *pt; //定义一个指向Box类对象的指针变量pt
pt=new Box; //在pt中存放了新建对象的起始地址
delete 指针名; 如果被删除的是普通变量,则会直接释放动态分配的内存。如果被删除的是对象,则该对象的析构函数被调用。这里要注意一下,用new动态分配的内存只能用delete释放一次,如果释放第二次会出现错误。
13. 对象的赋值:对象名2=对象名1;//是对一个已经存在的对象赋值&#