当我阅读 Qt 的一些示例代码时,我通常会看到它们初始化一个指向 nullptr
的指针,例如:
QPushButton *startButton = nullptr;
我对nullptr
有一些非常基本的概念,但自从我开始学习 C++ 以来,从未真正使用过一次。所以我想知道为什么他们会初始化一个指向 nullptr
的指针,而不是像这样:QPushButton *startButton;
,这样做有什么好处,我什么时候需要这样做初始化指向 nullptr
的指针?
提前致谢。
最佳答案
您需要在读取指针之前对其进行初始化。
如果您有时只是在读取它之前将其初始化为一个合理的值,那么在声明时将其初始化为 nullptr
是有意义的,因为那时您将能够检测到 nullptr
为“尚未初始化为合理的东西”。
如果您的程序中有一条路径可以在初始化之前读取它,那么让指针未初始化是不好的,因为读取未初始化的变量是未定义的行为。
关于c++ - 什么时候需要初始化指向 nullptr 的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47969071/