为什么 getSenderSpeed() 的返回类型是 Coord& in DemoSafetyMessage.h Veins5?



我的问题是在DemoSafteyMessage.h 为什么这个函数有Coord&type而不是double或任何其他数据类型。 除了受保护的数据成员也是

保护: 坐标发送速度;

公共:

virtual Coord& getSenderSpeed();
virtual const Coord& getSenderSpeed() const {return const_cast<DemoSafetyMessage*>(this)->getSenderSpeed();}
virtual void setSenderSpeed(const Coord& senderSpeed); 

我正在回答这个问题,因为我想用更多参数填充演示安全消息。因此,了解哪种数据类型以及为什么使用此数据类型对我来说非常重要,因为速度将返回双精度或浮点数或整数值,然后为什么返回Coord&。

就像如果我想保持距离,那么我是否需要采取Coord&或者我会采取双倍? 方向和节点 ID 类似,因为方向将返回双精度,节点 ID 将返回字符串。

任何指导都将得到认可。

谢谢

Veins 5.0 中包含的示例模拟在其演示消息中存储了一个速度矢量。有关读取速度的位置,请参阅 https://github.com/sommer/veins/blob/veins-5.0/src/veins/modules/application/ieee80211p/DemoBaseApplLayer.cc#L198,有关消息中设置速度的位置,请参阅 https://github.com/sommer/veins/blob/veins-5.0/src/veins/modules/application/ieee80211p/DemoBaseApplLayer.cc#L161。

这使得接收器不仅可以看到车辆的移动速度(矢量的大小(,还可以看到方向(矢量的角度(。

最新更新