• 3292阅读
  • 1回复

[提问]内存管理的问题。 [复制链接]

上一主题 下一主题
离线silence.sx
 
只看楼主 正序阅读 楼主  发表于: 2012-08-17
弱弱的问下


QLable *lable=new QLable();

QLabale lable;


的区别、


并且他们内存释放是如何进行的?
离线jdwx

只看该作者 1楼 发表于: 2012-08-17
回 楼主(silence.sx) 的帖子
QLabel *label = new QLabel(this); 一般是这么写,this表示父窗口,由Qt独有的机制在程序退出的时候进行自动删除。近似一个树形结构,root是主窗口。
如果不加this,是个独立的窗口,必须自己delete label。
QLabel label;在栈上构造一个QLabel,程序退出的时候会被系统自动删除,回收内存。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个