geekdevin
2019-05-05 14:35
采纳率: 64.7%
浏览 310

构造函数中变量存在周期的问题

定义了一个窗口类,在其构造函数里边定义一个按钮。用下边两种方式

1.
QPushButton b5;
b5.setParent(this);
b5.setText("test");
b5.move(100,100);
2.
QPushButton *b4 = new QPushButton(this);
b4->setText("Lambda");
b4->move(100,100);

第一种啥也没有 第二种可以正常显示按钮,为什么第一种不行啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 基本没有毒性 2019-05-05 15:51
    已采纳

    构造函数只在创建对象的时候调用,调用完函数里声明的变量就销毁了。你看到窗口的时候这个窗口的构造函数早就运行结束了,所以第一个不行
    new创建的变量只有调用delete或者程序关闭才会销毁,所以第二个能看到按钮

    点赞 打赏 评论

相关推荐 更多相似问题