Я думаю, что мы все понимаем необходимость delete
при переназначении динамически размещаемого указателя, чтобы предотвратить утечки памяти. Однако мне любопытно, в какой степени C++ предписывает использование delete
? Например, возьмите следующую программу
int main()
{
int* arr = new int[5];
return 0;
}
Хотя для всех намерений и целей здесь не происходит утечки (поскольку ваша программа заканчивается, и ОС будет очищать всю память после ее возвращения), но стандарт все еще требует - или рекомендует - использование delete[]
в этом случае? Если нет, была бы другая причина, по которой вы delete[]
бы delete[]
здесь?