Гарантированно ли указатель сохранит свое значение после `delete` в C ++?

На основе этого вопроса .

Предположим, в коде C ++ у меня есть действительный указатель и правильно удалить его. Согласно стандарту C ++, указатель станет недействительным (3.7.3.2/4 - функция освобождения сделает недействительными все указатели, относящиеся ко всем частям освобожденного хранилища ) .

По крайней мере, в большинстве реализаций он сохраняет значение и будет хранить тот же адрес, что и до delete , однако использование значения является неопределенным поведением .

Гарантирует ли стандарт, что указатель сохранит свое значение, или значение может изменяться?

16
задан Community 23 May 2017 в 12:25
поделиться