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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

by Guest » 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.

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

Top