Оптимизировать коды, которые находят элемент из вектора - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть следующий код, который пытается найти элемент из myPairs, который является std :: vector MyPair.Код работает нормально, но я чувствую, что он может быть более элегантным.Может кто-нибудь, пожалуйста, совет, спасибо.

std::optional<MyPair>
find_right_data(const MyPairs &my_pairs, const MyPoint &pos) {

    MyPair pair;
    bool found = false;

    double min_dist = std::numeric_limits<double>::max();
    for (size_t i = 0; i < my_pairs.size(); i++) {

        MyLine myline = my_pairs[i].second;
        double dist = std::numeric_limits<double>::max();
        find_closest_point(myline, pos, &dist);

        if (dist < min_dist) {
            min_dist = dist;
            pair = my_pairs[i];
            found = true;
        }

    }

    if (found) {
        return pair;
    } else {
        return {};
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...