【发布时间】:2017-12-25 13:27:06
【问题描述】:
当我阅读一些Qt的示例代码时,我通常会看到他们初始化了一个指向nullptr的指针,例如:
QPushButton *startButton = nullptr;
我对@987654323@ 有一些非常基本的想法,但自从我开始学习 C++ 以来,我从未真正使用过它。所以我想知道为什么他们会初始化指向nullptr 的指针,而不是像这样:QPushButton *startButton;,这样做有什么好处,我什么时候需要初始化指向nullptr 的指针?
提前致谢。
【问题讨论】:
-
使用未初始化的变量是UB。最好在声明它们时初始化它们。 (然后您可以测试
nullptr)。 -
OT:你还需要指向按钮的指针吗?在我 9 年以上的 Qt 开发工作中,我发现在 Qt 的大部分时间里,由于信号和插槽,您不需要指针。如果在极少数情况下您需要指针,您可以在其父级上使用 findChildren
()。