这是我的阵列
std::array<double, 64> fm_sim;
Run Code Online (Sandbox Code Playgroud)
我想找到数组中的最大值.
我不能用
double maxFmSim = std::max(fm_sim.begin(), fm_sim.end());
Run Code Online (Sandbox Code Playgroud)
这是错误:预期的标识符
现在这就是我正在做的事情
double maxFmSim = fm_sim[0];
for (int i = 0; i < 64; i++)
{
if(fm_sim[i] > maxFmSim)
{
maxFmSim = fm_sim[i];
}
}
Run Code Online (Sandbox Code Playgroud)
是否有更快的方式/其他std/stl函数,我可以使用它来找到最大值?
该函数std::max返回两个值之间的较大值.对于您可以使用的容器std::max_element.由于这会将迭代器返回到max元素,因此需要取消引用它.
double maxFmSim = *std::max_element(fm_sim.begin(), fm_sim.end());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3298 次 |
| 最近记录: |