摘要: 当在类的构造函数体中申请了资源(如内存空间),需要在对象被销毁时进行释放时。classTest{public:Test(constchar*ptr){if(ptr){p=newchar[strlen(ptr)];}}~Test(){delete[]p;}private:char*p;};幸运草 2010-04-18 19:59 发表评论 阅读全文
posted @ 2010-04-18 19:59 liyuxia713 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 内存泄露的情形:1#include<iostream>2usingnamespacestd;34classStu5{6public:7Stu(intm):var(m)8{9cout<<var<<"constructorcalled."<<endl;10}11~Stu(){cout<<var<<"destructorcalled."<<endl;}12private:13intvar;14};151617intmain()18{19Stu*a=newStu(20);20St 阅读全文
posted @ 2010-04-18 12:06 liyuxia713 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1. 一般指针的new&delete对于指针a,delete a之后,指针a 的地址仍然是原来的地址(并不是NULL),只不过所指向的对象被释放了,此时指针存放的值为随机的,由编译器确定。1int*a=newint(2);2cout<<"afternew:"<<endl;3cout<<"a="<<a<<","<<"*a="<<*a<<endl;45deletea;6cout<<"afterd 阅读全文
posted @ 2010-04-18 10:58 liyuxia713 阅读(185) 评论(0) 推荐(0) 编辑