我听不懂。为什么我们都需要?有什么区别?
QTimer *timerobject;
timerobject = new QTimer(this);
答案 0 :(得分:1)
第一行是声明-在代码中,您声明了timerObject为指向QTimer类型的指针。
在第二行中,您执行了许多操作:为QTimer变量分配内存,对其进行构造,然后分配 >该QTimer变量的地址指向您在第一行中创建的指针变量。
此外,您可以将其写成一行:
QTimer * timerobject = new QTimer(this);
这两行都是必需的,因为如果只声明该对象,它将没有任何值。它只会指向任何内容(nullptr)。如果您不声明它,则编译器将不知道什么是timerobject,因此它将无法为其分配任何值。