ich habe folgenden Code:
Code: Alles auswählen
const float HalfMin = *std::min_element(RawProjSensorValues_Half.begin(), RawProjSensorValues_Half.end());
const float HalfMax = *std::max_element(RawProjSensorValues_Half.begin(), RawProjSensorValues_Half.end());
Code: Alles auswählen
const auto [HalfMin, HalfMax] = std::minmax_element(RawProjSensorValues_Half.begin(), RawProjSensorValues_Half.end());
Alle Lösungen erscheinen hässlich, da sie eine Zwischenvariable benötigen und den Rückgabewert von minmax_element explizit auseinander nehmen..
Code: Alles auswählen
auto HalfMinMax = std::minmax_element(RawProjSensorValues_Half.begin(), RawProjSensorValues_Half.end());
const float HalfMin = *HalfMinMax.first;
const float HalfMax = *HalfMinMax.second;
Code: Alles auswählen
auto HalfMinMax = std::minmax_element(RawProjSensorValues_Half.begin(), RawProjSensorValues_Half.end());
const auto [HalfMin, HalfMax] = std::tuple{*HalfMinMax.first, *HalfMinMax.second}; //std::pair geht auch
Wer kurz mit der Situation rumspielen möchte: habe hier ein interaktives Beispiel vorbereitet: https://godbolt.org/g/88PS3K