12 из 155 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
C++ · Memory
Почему это задача программиста — а не компилятора — убедиться, что new[] соответствует delete[]?
new[]
delete[]
Потому что C++ была разработана до появления сборщика мусора, поэтому не существует runtime отслеживания
Потому что стандарт C++ требует от компоновщика проверять правила освобождения памяти, а не от компилятора
Потому что компилятор не отслеживает, относится ли указатель к одному объекту или к массиву, поэтому он не может выбрать правильный оператор освобождения
Потому что delete[] — это функция библиотеки, а не ключевое слово языка, поэтому компилятор не имеет к ней доступа