Std::数组查找最大值函数



这是我的数组

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函数,我可以使用它来找到最大值?

函数std::max返回两个值之间较大的值。对于容器,您可以使用std::max_element。由于这将返回一个指向max元素的迭代器,因此需要对其解引用。

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

最新更新