У меня есть следующий код, который пытается найти элемент из 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 {};
}
}