Существует несколько ситуаций, которые стандарт С++ присваивает как поведение undefined. Например, если я выделяю new[]
, тогда попробуйте освободить с помощью delete
(not delete[]
), что undefined поведение - может случиться что угодно - это может это может привести к сбою в сбоях, это может испортить что-то тихое и придумать временную проблему.
Это так проблематично объяснить, что все может случиться с новичками. Они начинают "доказывать", что "это работает" (потому что он действительно работает на реализации С++, который они используют) и спрашивает "что может быть неправильно с этим"? Какое краткое объяснение я могу дать, что побудило бы их просто не писать такой код?