我应该在使用后删除 QSensorReading 吗?
Should I delete QSensorReading after using it?
我是第一次尝试使用 QSensor
和 Qt5.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
能做什么?我应该删除它吗?会自动删除吗?我可以将它作为参数安全地传递吗?我是否冒着更新(可变)的风险?我可以复制吗?
它归 QSensorBackend
所有,因此将一并删除。可以传递指针,但对象看起来不可复制。里面的值可能会被更新(但如果它在后端所在的同一个线程中使用,它是线程安全的)。指针保持不变。
我是第一次尝试使用 QSensor
和 Qt5.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
能做什么?我应该删除它吗?会自动删除吗?我可以将它作为参数安全地传递吗?我是否冒着更新(可变)的风险?我可以复制吗?
它归 QSensorBackend
所有,因此将一并删除。可以传递指针,但对象看起来不可复制。里面的值可能会被更新(但如果它在后端所在的同一个线程中使用,它是线程安全的)。指针保持不变。