天天看点

对象new和不new的理解

1、现象

在一个线程类【QObject】中声明一个对象QTimer,【不new,直接声明】,在槽函数中timer.start()

报警告:不能跨线程调用对象

2、分析

不使用new的方式,直接A a;这样是同时:声明+定义【分配空间】,所以如果在A头文件中这样定义一个对象,然后再A a;这样是在主线程中分配的空间,就不能再a中使用定时器对象了

而使用new的方式,可以在A的槽函数中分配空间,可以使用

长风破浪会有时,直挂云帆济沧海!

继续阅读