Page 1 of 1

Gibt es eine Möglichkeit, Funktionen, die std::pairs zurückgeben, einfach zu handhaben?

Posted: 07 Jan 2025, 09:58
by Guest
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.

Code: Select all

auto lhsMinmax = std::minmax_element(lhs.begin(), lhs.end());
int &lhsMin = *(lhsMinMax.first);
int &lhsMax = *(lhsMinmax.second);
Gibt es einen besseren Weg, dies zu tun? Etwas wie:

Code: Select all

int lhsMin;
int lhsMax;
std::make_pair(lhsMin, lhsMax).swap(
std::minmax_element(lhs.begin(), lhs.end()));