Данные Location, которые мне нужно организовать, считываются внешней функцией, которая возвращает std::vector элементов location_data_. Я организовал данные в std::map, чтобы облегчить быстрый доступ на основе поля Location::label. Я не хочу копировать location_data_, поскольку вектор может быть довольно большим. Я хочу сделать Location метки доступной с помощью функции GetObjectsAtLocation().
Я борюсь с лучшим возвращаемым значением функции GetObjectsAtLocation(). Я использую константную ссылку, но не уверен, правильный ли это выбор. Любые отзывы приветствуются.
struct Location {
std::string label;
double x;
double y;
double yaw;
};
class LocationDataBase {
public:
const std::vector& GetObjectsAtLocation(
const std::string& object_label);
private:
std::vector location_data_;
std::map
objects_at_location_;
};
Подробнее здесь: https://stackoverflow.com/questions/798 ... -to-vector