有没有一种方法可以在不使用任何迭代器的情况下获取Qt中QList的最小值和最大值?

这是使用迭代器的代码:

QList<double>::iterator min = std::min_element(listVal.begin(), listVal.end());
QList<double>::iterator max = std::max_element(listVal.begin(), listVal.end());

最佳答案

如果您不希望迭代器作为结果,而是直接使用值,则可以直接引用结果:

//assert(!listVal.empty());
double min = *std::min_element(listVal.begin(), listVal.end());
double max = *std::max_element(listVal.begin(), listVal.end());

在C++ 17中,具有结构绑定(bind):
//assert(!listVal.empty());
auto [min, max] = *std::minmax_element(listVal.begin(), listVal.end());

关于c++ - 如何在不使用任何迭代器的情况下获取Qt中QList的最小值和最大值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28579809/

10-10 11:25