我第一次尝试使用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
做什么?我应该删除吗?会自动删除吗?我可以作为参数安全地传递吗?我冒险更新(可变)吗?我能以某种方式复制吗?
答案 0 :(得分:0)
它由QSensorBackend
拥有,因此它将被删除。指针可以传递,但对象看起来不像是可复制的。内部的值可能会更新(但如果它在后端所在的同一个线程中使用,则它的线程安全)。指针保持不变。