Gibt es eine Möglichkeit, Funktionen, die std::pairs zurückgeben, einfach zu handhaben?
Posted: 07 Jan 2025, 09:58
C++11 verfügt über die Funktion std::minmax_element, die ein Wertepaar zurückgibt. Dies ist jedoch ziemlich verwirrend in der Handhabung und beim Lesen und erzeugt eine zusätzliche, später nutzlose Variable, die den Gültigkeitsbereich verunreinigt.
Gibt es einen besseren Weg, dies zu tun? Etwas wie:
Code: Select all
auto lhsMinmax = std::minmax_element(lhs.begin(), lhs.end());
int &lhsMin = *(lhsMinMax.first);
int &lhsMax = *(lhsMinmax.second);
Code: Select all
int lhsMin;
int lhsMax;
std::make_pair(lhsMin, lhsMax).swap(
std::minmax_element(lhs.begin(), lhs.end()));