这是我的数组
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函数可以用来查找最大值?
答案 0 :(得分:9)
函数std::max
返回两个值之间的较大值。对于容器,您可以使用std::max_element
。由于这会将迭代器返回到max元素,因此您需要取消引用它。
double maxFmSim = *std::max_element(fm_sim.begin(), fm_sim.end());