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()));