c++ - 带有动态数组的 std::max

标签 c++ dynamic standard-library

我正在尝试尽可能多地使用 std 库,但我对 std::max 有疑问

#include <algorithm>

void foo(size_t elem)
{
  auto testArray = new double[elem];
  for(int i = 0; i < elem; ++i)
  {
    testArray[i] = i;
  }

  auto maxElem = std::max(testArray, testArray + (elem - 1));
  delete[] testArray;
}

在这里将参数传递给 std::max 函数的最佳方式是什么?我希望我能让这个数组表现得像一个带有模板的迭代器。

最佳答案

应该是max_element(),不是max()

auto maxElem = *(std::max_element(testArray, testArray + elem));

关于c++ - 带有动态数组的 std::max,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40955303/

相关文章:

java - 如何获得一个实际的单词迭代器包装breakIterator?

c++ - 我不知道为什么c++中复制构造函数的调用不稳定

c++ - "Emulating"std::declval 问题。在 g++ 中工作(有点),在 clang++ 中编译失败

c++ - g++ 编译单独预处理的文件会根据体系结构给出错误

java - "see"Java标准库可以离线吗

javascript - 如何将 onclick 代码压缩为动态

c++ - 来自 std::uniform_int_distribution 的重复值

c++ - 如何以编程方式查找计算机的域

c++ - 当类对象完成时,是否会释放为 C++ 类的数据成员动态分配的内存?

Python Tkinter/如何让OptionMenus共享一项列表?