C ++11 a la fonction std::minmax_element
qui renvoie une paire de valeurs. Ceci, cependant, est assez déroutant à manipuler et à lire, et produit une variable supplémentaire, plus tard inutile, pour polluer la portée.
auto lhsMinmax = std::minmax_element(lhs.begin(), lhs.end());
int &lhsMin = *(lhsMinMax.first);
int &lhsMax = *(lhsMinmax.second);
Y a-t-il une meilleure manière de faire cela? Quelque chose comme:
int lhsMin;
int lhsMax;
std::make_pair<int&, int&>(lhsMin, lhsMax).swap(
std::minmax_element(lhs.begin(), lhs.end()));