std :: array查找最大值函数

时间:2015-10-26 11:24:32

标签: c++ arrays max

这是我的数组

std::array<double, 64> fm_sim;

我想找到数组中的最大值。

我无法使用

double maxFmSim = std::max(fm_sim.begin(), fm_sim.end());

这是错误:期望标识符

现在这就是我正在做的事情

 double maxFmSim = fm_sim[0];
 for (int i = 0; i < 64; i++)
 {
    if(fm_sim[i] > maxFmSim)
    {
        maxFmSim = fm_sim[i];
     }
 }

是否有更快的方法/其他std / stl函数可以用来查找最大值?

1 个答案:

答案 0 :(得分:9)

函数std::max返回两个值之间的较大值。对于容器,您可以使用std::max_element。由于这会将迭代器返回到max元素,因此您需要取消引用它。

double maxFmSim = *std::max_element(fm_sim.begin(), fm_sim.end());