Есть ли способ легко обрабатывать функции, возвращающие std::pairs?C++

Программы на C++. Форум разработчиков
Anonymous
Есть ли способ легко обрабатывать функции, возвращающие std::pairs?

Сообщение Anonymous »

В C++11 есть функция std::minmax_element, которая возвращает пару значений. Однако это довольно сложно обрабатывать и читать, а также создает дополнительную, впоследствии бесполезную переменную, загрязняющую область видимости.

auto lhsMinmax = std::minmax_element(lhs.begin(), lhs.end());
int &lhsMin = *(lhsMinMax.first);
int &lhsMax = *(lhsMinmax.second);


Есть ли лучший способ сделать это? Что-то вроде:

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


Подробнее здесь: https://stackoverflow.com/questions/402 ... g-stdpairs

Вернуться в «C++»