Вызывает ли двойной вызов new [] дважды для одного и того же указателя без промежуточного вызова delete [] утечка памяти?
Я слышал, что вы обычно должны «удалять» всякий раз, когда используете «new», но когда я запускаю простую тестовую программу (см. Ниже), кажется, не имеет значения, какие числа я ставлю для arraySize или numLoops. Это вызывает утечку памяти?
#include <iostream>
int main()
{
double *array;
const int arraySize = 100000;
const int numLoops = 100000;
for (int i = 0; i < numLoops; i++)
{
// do I need to call "delete [] array;" here?
array = new double[arraySize];
}
int x;
std::cin >> x; // pause the program to view memory consumption
delete [] array;
return 0;
}