使用后我应该删除QSensorReading吗?

时间:2016-01-07 01:57:30

标签: memory-management qt5 sensor

我第一次尝试使用QSensorQt5.5中的朋友,并且出现了一个问题; 谁负责管理 QSensorReading的实例?我试图通过阅读文档来理解这一点,而没有更明智。

示例:

QAccelerometer *accelerometer=new QAccelerometer(this);
if(accelerometer->connectToBackend()){
    accelerometer->start();
}

//Some time later in handler for QSensorReading::readingChanged()signal:
QAccelerometerReading *myReading=accelerometer->reading();

我可以在这里使用myReading做什么?我应该删除吗?会自动删除吗?我可以作为参数安全地传递吗?我冒险更新(可变)吗?我能以某种方式复制吗?

1 个答案:

答案 0 :(得分:0)

它由QSensorBackend拥有,因此它将被删除。指针可以传递,但对象看起来不像是可复制的。内部的值可能会更新(但如果它在后端所在的同一个线程中使用,则它的线程安全)。指针保持不变。