【发布时间】:2012-10-27 00:41:03
【问题描述】:
我正在学习如何使用 Qt 制作程序。我的问题是关于我不太擅长的三件事:指针、对象和“new()”。
看:(Dialog是一个类)
//start of code...
...
private:
Dialog *mDialog; //Dialog is a class
...
void MainWindow::on_activationNew_window_triggered()
{
mDialog = new Dialog(this); // Explain me this "this"
}
...
//end of code
向我解释那条线是如何工作的,“这”到底是做什么(或现在是)什么。
我所知道的是 mDialog 是一个窗口类,当作用域结束时,窗口关闭,所以他创建那个指针并使用 new,因为它将使用堆栈内存,这意味着它不会关闭范围结束时的窗口。
如果您想观看他正在制作的视频部分并对此进行解释(可能我不够清楚),这里是视频(从 8:07 开始):
http://www.youtube.com/watch?v=wUH_gu2HdQE&feature=relmfu
求救!
【问题讨论】:
-
如果有的话,它会是“堆”不是“堆栈”,即便如此,我也会犹豫将这些实现细节带入事物中。是时候重读你的 C++ 书了?!
-
是的...它与我所说的相反!