اشاره گر به فرم و شی ایجاد شده در heap نابود نمیشه؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

اشاره گر به فرم و شی ایجاد شده در heap نابود نمیشه؟

0 امتیاز

سلام

به دو حالت فرم رو ایجاد و فراخوانی میکنم.

حالت اول یک شی با کد زیر ایجاد میکنم و فرم رو نمایش میدم اما سریعا بعد از اتمام رویداد فرم از بین میره به نظر میاد بعد از اتمام رویداد مخرب فرم هم فراخوانی میشه و شی ایجاد شده از بین میره

void MainWindow::on_pushButton_clicked()
{
   Form form;
   form.show();
}

در حالت دوم یک شی از فرم در heap ایجاد میکنم و با استفاده از یک اشاره گر به فرم اشاره میکنم در اینصورت بعد از اتمام رویداد همچنان فرم نمایش داده میشه 

void MainWindow::on_pushButton_clicked()
{
   Form *form = new Form();
   form->show();
}

میخواستم بدونم دلیلش چیه؟ شی ایجاد شده در heap خودش از بین میره؟

سوال شده بهمن 29, 1394  بوسیله ی java (امتیاز 40)   2 4 5

1 پاسخ

+1 امتیاز
اگر فرم شما از QDialog مشتق شده است (که باید باشد) به جای show از متد exec استفاده کنید
پاسخ داده شده خرداد 27, 1395 بوسیله ی حامد مصافى (امتیاز 1,104)   2 3 12
...