Правило в C ++ заключается в том, что вы используете delete[]
всякий раз, когда вы используете new[]
, и delete
всякий раз, когда вы используете new
. Если вы не используете new
, как в вашем примере, вам не нужно ничего delete
.
В вашем примере шесть байтов для массива c
выделяются в стеке, а не в куче, если они объявлены внутри функции. Поскольку эти байты находятся в стеке, они исчезают, как только возвращается функция, в которой они объявлены.
Если это объявление находится вне какой-либо функции, то эти шесть байтов выделяются в области глобальных данных и остаются в течение всего времени жизни вашей программы.