Показать сообщение отдельно

  #2  
Старый 05.11.2007, 02:41
VERte][
Участник форума
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме:
3013539

Репутация: 441
По умолчанию

кто-нибудь объясните пару моментов(речь идёт про указатели):
1)если я пременяю функцию:
delet p;
то что происходит?

у меня при выводе значений р и *р (cout<<p<<" "<<p; ) значение переменной *р становится равным 0, а значение(адрес) р остаётся неизменным (каким был до delete p; )
после чего я могу благополучно написать *р=13; и никакой ошибки не выдаётся; хотя в учебнике написано что адресс и значание указателя после применения ф-ции delete становится неопределённым...

2)как правильно использовать переменную NULL(случай когда динамическая память заполняется и указателю присваивается значение 0 или NULL мне известен)

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

вот ещё интересный скрин (код и процесс выполнения программы):
 
Ответить с цитированием