新蜜蜂在这里。如果有类似的问题,我很抱歉,但我什至不知道如何正确提问。问题是,我必须为大学做一些项目,我现在被困住了。我通过 udp 获取信息,需要存储产量信息以传递给对象(汽车坐标),我必须为 20 个对象执行此操作,因此它要复杂得多。我有这个代码,它应该作为我的教授工作。告诉我,但我必须自己弄清楚如何存储它。试过 QList 和 QMap 但我不知道怎么可能
anArray[num].posX=somenumber;
所以我必须将每辆车的坐标存储为 car1.x、car1.y、car1z,然后在循环中增加;car2.x 等等。
我不知道我的问题或我想问的是否足够清楚,但请多多包涵
while(mSocket->hasPendingDatagrams()){
QByteArray datagram;
QHostAddress crrAddress;
quint16 crrPort;
datagram.resize( int(mSocket->pendingDatagramSize()) );
mSocket->readDatagram(datagram.data(), datagram.size(), &crrAddress, &crrPort);
double* resultList = new double[(datagram.size() / int(sizeof(double))) ];
memcpy(&resultList[0], datagram.data(), size_t(datagram.size()));
for(quint16 count = 0; (count) < mVehicleCount; count++) {
mVehicleMap[mArrayOffset + count].ID = int16_t(resultList[7 + 11 * count]);
mVehicleMap[mArrayOffset + count].pose.position.x = resultList[(1 + 11 * count)];
mVehicleMap[mArrayOffset + count].pose.position.y = resultList[(2 + 11 * count)];
mVehicleMap[mArrayOffset + count].pose.position.z = resultList[(3 + 11 * count)];
mVehicleMap[mArrayOffset + count].pose.orientation.x = resultList[(6 + 11 * count)];
}
delete[] resultList;