gpt4 book ai didi

c++ - 有没有办法轻松处理返回 std::pairs 的函数?

转载 作者:IT老高 更新时间:2023-10-28 12:36:45 29 4
gpt4 key购买 nike

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<int&, int&>(lhsMin, lhsMax).swap(
std::minmax_element(lhs.begin(), lhs.end()));

最佳答案

使用 C++17 中的结构化绑定(bind),您可以直接这样做

auto [lhsMinIt, lhsMaxIt] = std::minmax_element(lhs.begin(), lhs.end());

关于c++ - 有没有办法轻松处理返回 std::pairs 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40283198/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com