0
我嘗試使用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函數的參數?我希望我可以讓這個數組的行爲像一個帶有模板的迭代器。
它應該是'testArray + elem',而不是'testArray +(elem - 1)'。 – timrau
我用+ elem試了一下,發現了一些意想不到的行爲。它每次都選擇最後一個元素,並且它不是最大的元素,但是它是最負面的。 – CodeSlapper