Это позволило мне ввести целое число из консоли, но ничего не выводило.Почему это так?
Если это произошло не из-за сбоя программы (как предложил VorpalSword), то, возможно, когда вы перезаписали (какое бы слово памяти вы не переписывали), что сломало что-то в механизме stdoutэто зависело от сохранения первоначальной стоимости.Смысл неопределенного поведения в том, что оно неопределенное - то есть, что именно произойдет, будет зависеть от точных деталей того, как работает каждый потенциально затрагиваемый механизм в процессе, и более точно, как он может выйти из строя, когда от предварительных условий зависит егобыли нарушены.В общем, никто не пытается задокументировать или охарактеризовать неопределенное поведение, потому что это будет бесконечная работа, и в любом случае это бесполезно, потому что программу, вызывающую неопределенное поведение, нужно все равно исправить.
Даже если p1 указывает на случайную ячейку памяти, почему я не могу изменить значение того, на что оно указывает?
Ну, вы можете -- но при этом вы вызвали неопределенное поведение, что означает, что ничто не гарантированно сработает сразу после этого, и если что-то не получится так, как вы хотели после этого, единственный человек, который будет винить вас:)
Почему мне нужно назначить p для «новой» ячейки памяти?
Потому что, если вы собираетесь использовать часть памяти, вы захотите использоватьчасть памяти, которую никакой другой фрагмент кода не использует для каких-либо других целей.В противном случае любые изменения, внесенные в него, перезапишут любое значение, которое они там поместили (или наоборот), что приведет к неожиданному / бесполезному поведению либо в вашей логике, либо в их логике, либо в обоих.
Оператор 'new' прерываетсяВы освобождаете из памяти кучу памяти, которую никто не использует, чтобы кто-то еще ее использовал, так что вы можете быть уверены, что она доступна только для личного использования.Оператор «delete» возвращает эту память обратно в кучу, чтобы ее можно было повторно использовать для других целей после того, как с ней покончено.