我是Qt的新手,我正在阅读几个Qt项目以获得基础知识.在浏览不同的类时,似乎总是使用指向QWidget的指针.
例如:
class ExempleWidget : public QWidget
{
Q_OBJECT
public:
ExempleWidget();
~ExempleWidget();
private:
QPushButton * m_stopButton;
QPushButton * m_playButton;
QHBoxLayout * m_hBoxLayout;
QVBoxLayout * m_vBoxLayout;
};
Run Code Online (Sandbox Code Playgroud)
是否有任何理由使用指针'QPushButton'*'QHBoxLayout'*等?我们可以只使用价值观,所以我们不必费心去'新'和'删除'?嗯,我知道我们可以,但这是一个很好的方法吗?
例如
private:
QPushButton m_stopButton;
Run Code Online (Sandbox Code Playgroud)
编辑:
所有答案似乎都指出了Qt类之间的层次结构.这对我来说是一个足够好的理由,我不怀疑这一点,但是让我们说我班级的小部件之间没有联系(*m_stopButton*和*m_playButton*).
在这种情况下我可以安全地将它们声明为值,不是吗?当类被删除时,成员也将被删除,所以指针与否我们将具有相同的行为.