Mi pregunta es En DemoSafteyMessage.h ¿Por qué esta función tiene Coord & type en lugar de double o cualquier otro tipo de datos? además el miembro de datos protegidos también es

Protegido: Coord senderSpeed;

Público:

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

Hago esta pregunta porque quiero completar DemoSafetyMessage con más parámetros. Por lo tanto, es muy importante para mí comprender qué tipo de datos y por qué se usa este tipo de datos porque la velocidad devolverá un valor doble o flotante o int, entonces por qué Coord &.

Por ejemplo, si quiero tomar distancia, ¿también necesito tomar Coord & o tomaré el doble? de manera similar para direction y nodeId porque direction devolverá double y nodeID devolverá string.

Cualquier orientación será apreciada.

Gracias

0
Ravneet_Kaur 14 oct. 2019 a las 15:55

1 respuesta

La mejor respuesta

La simulación de ejemplo incluida con Veins 5.0 almacena un vector de velocidad en sus mensajes de demostración. Consulte https: / /github.com/sommer/veins/blob/veins-5.0/src/veins/modules/application/ieee80211p/DemoBaseApplLayer.cc#L198 para saber dónde se lee la velocidad, consulte https://github.com/sommer/veins/ blob / veins-5.0 / src / veins / modules / application / ieee80211p / DemoBaseApplLayer.cc # L161 para saber dónde se establece en el mensaje.

Esto permite que un receptor no solo vea qué tan rápido se mueve un vehículo (magnitud del vector), sino también en qué dirección (ángulo del vector).

2
Christoph Sommer 15 oct. 2019 a las 09:26