(类 *对象;)和(object = new class();)之间有什么区别



我听不懂。为什么我们两个都需要?有什么不同?

QTimer *timerobject;
timerobject = new QTimer(this);

第一行是声明 - 在您的代码中,您将timerObject声明为qtimer类型的指针。

在第二行中,您执行了许多操作:您为qtimer变量分配的内存,您构建 it,然后您 nativeed >该QTimer变量的地址是您在第一行中创建的指针变量的地址。

另外,您可以单行写入:

QTimer * timerobject = new QTimer(this);

两行都是必要的,因为如果您只声明对象,则不会有任何值。它只会指出(nullptr)。如果您不声明它,编译器将不知道什么是计时器,因此它将无法为其分配任何值。

最新更新