公主换装婚纱游戏大全:请教C++Builder有关指针变量内存释放的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/20 15:53:47
在一个程序里动态的new出很多的控件指针变量,借以实现窗体上数目不定的若干动态控件的添加。这些new出来的指针变量如何释放?我试图在每一个函数的结尾将指针设为NULL,再delete掉,但是程序总是报错,那位高人可以告诉我如何delete掉这些指针。或者,如果不delete,会不会造成内存泄漏?谢谢!
在析构函数如何释放,能不能说具体一点。

我在自定义类CNewButton的成员函数CNewButton::New(TObject *Sender)内部写

TWinControl *Parent=((TButton *)Sender)->Parent;
TButton *Btn=new TButton(Parent);//Parent是主程序中的一个Panel控件
Btn->Top=20;
Btn->Left=20;
Btn->Name="BtnFirst";
//这样就可以通过在主程序中通过单击一个按钮来调用这个成员函数动态生成一个控件

那么这个指针变量Btn怎么办?如何释放?
请高手明示!

如果你是在类里用NEW分配的内存,就在析构函数里面释放!
如果不是,你不用把指针设为NULL,就可以
delete[] 指针名
一定要记住释放,要不然你的程序多运行几次,你的内存就会满的!
看看是不是语法错了!

大哥,你先将其指到0(C++中规定指针NULL为0)再delete当然会出错啦!
如果你是用全局new 出来的控件,直接delete就可以了,当然将指针设为NULL就更好了,如果你重载了new ,那你也最好重载delete。
你new 了东西就要delete哦!要不然就要内存泄漏了