我经常发现自己正在编写最大值函数来搜索双精度数组我使用这些函数在图形显示之前规范化数据。
有没有更好的方法来查找双精度数组的最大值?是否有标准函数来查找数组中的最大值?这个操作有一些内在的东西吗?我记得DSP芯片中存在专门的ASM指令。
答案 0 :(得分:16)
是的!有一个名为std::max_element
的函数:
double arr[LENGTH] = /* ... */
double max = *std::max_element(arr, arr + LENGTH);
您需要#include <algorithm>
才能执行此操作。这个标题有很多好东西,值得花些时间来了解更多关于STL容器和算法库的信息,因为它们可以让你的生活更容易 。
只要我们讨论这个主题,请考虑将std::vector
或std::array
作为原始C ++数组的替代品。它们更安全,更容易使用。
希望这有帮助!