Moh*_*ani 4 qt pointers qscopedpointer
例如,这是我的代码
QScopedPointer<QTimer> timer2(new QTimer);
Run Code Online (Sandbox Code Playgroud)
但我想定义
QScopedPointer<QTimer> timer2;
Run Code Online (Sandbox Code Playgroud)
在mainwindow.h中创建一个实例
timer2(new QTimer);
Run Code Online (Sandbox Code Playgroud)
在mainwindow.cpp中
怎么样?
请尝试以下方法:
// mainwindow.h
class MainWindow : public QMainWindow
{
private:
QScopedPointer<QTimer> timer2;
};
Run Code Online (Sandbox Code Playgroud)
如果要在构造函数中创建实例,请使用以下命令:
// mainwindow.cpp
MainWindow::MainWindow()
:timer2(new QTimer)
{
}
Run Code Online (Sandbox Code Playgroud)
或者,如果要在某个任意成员函数中创建实例MainWindow,请使用以下命令:
// mainwindow.cpp
void MainWindow::someFunction()
{
timer2.reset(new QTimer);
}
Run Code Online (Sandbox Code Playgroud)
还值得回顾一下C++中的初始化列表和文档QScopedPointer.