Почему повторный тип getSenderSpeed ​​() является Coord & в DemoSafetyMessage.h Veins5? - PullRequest
0 голосов
/ 14 октября 2019

Мой вопрос в файле DemoSafteyMessage.h. Почему эта функция имеет тип Coord & type вместо double или любой другой тип данных. кроме того, защищенный элемент данных также

защищен: Coord senderSpeed;

public:

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

Я задаю этот вопрос, потому что я хочу заполнить DemoSafetyMessage дополнительными параметрами. Поэтому для меня очень важно понять, какой тип данных и почему этот тип данных используется, потому что скорость будет возвращать значение типа double или float или int, тогда почему Coord &.

Например, если я хочу взять расстояние, мне также нужновзять Coord & или я возьму двойной? аналогично для direction и nodeId, потому что direction будет возвращать double, а nodeID будет возвращать строку.

Любое руководство будет оценено.

Спасибо

1 Ответ

1 голос
/ 15 октября 2019

Пример симуляции, включенной в 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, где указано значение в сообщении.

Это позволяет приемнику не только видеть, насколько быстро движется транспортное средство. (величина вектора), но также и в каком направлении (угол вектора).

...