0
Я пытаюсь использовать библиотеки StD как можно больше, и у меня есть вопрос с станд :: максстанд :: макс с динамическим массивом
#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 здесь? Я надеялся, что могу заставить этот массив вести себя как итератор с шаблоном.
Это должно быть 'testArray + elem', а не' testArray + (elem - 1) '. – timrau
Я попробовал это с + elem, и у меня появилось неожиданное поведение. Он каждый раз собирал последний элемент, и он был не самым большим, но был самым негативным. – CodeSlapper